/**
 * Generated by tsnapi — public API snapshot of `@devframes/plugin-terminals/node`
 */
// #region Classes
export declare class TerminalManager {
  private ctx;
  private options;
  readonly shell: string;
  readonly shellArgs: string[];
  readonly defaultCwd: string;
  readonly defaultMode: TerminalMode;
  readonly allowArbitraryCommands: boolean;
  readonly presets: TerminalPreset[];
  private channel;
  private sessionsState?;
  private sessions;
  private ptyAvailable;
  private hubOwned;
  constructor(_: DevframeNodeContext, _?: TerminalsOptions);
  init(): Promise<void>;
  private hubTerminals;
  list(): TerminalSessionInfo[];
  getPresets(): TerminalPreset[];
  private buildEnv;
  private resolveSpawn;
  spawn(_?: SpawnRequest): TerminalSessionInfo;
  private launch;
  private startProcessPoll;
  private stopProcessPoll;
  write(_: string, _: string): void;
  resize(_: string, _: number, _: number): void;
  terminate(_: string): void;
  rename(_: string, _: string): void;
  restart(_: string): TerminalSessionInfo;
  remove(_: string): void;
  clearExited(): void;
  private disposeSession;
  dispose(): void;
  private publish;
  private refreshSessionsState;
  private syncHub;
}
// #endregion

// #region Functions
export declare function getTerminalManager(_: DevframeNodeContext): TerminalManager;
export declare function isPtyAvailable(): Promise<boolean>;
export declare function setTerminalManager(_: DevframeNodeContext, _: TerminalManager): void;
export declare function setupTerminals(_: DevframeNodeContext, _?: TerminalsOptions): Promise<TerminalManager>;
// #endregion

// #region Variables
export declare const diagnostics: import("nostics").Diagnostics<{
  readonly DP_TERMINALS_0001: {
    readonly why: (p: {
      id: string;
    }) => string;
    readonly fix: "Spawn a session first, or refresh the session list.";
  };
  readonly DP_TERMINALS_0002: {
    readonly why: (p: {
      command: string;
    }) => string;
    readonly fix: "Add it to `presets`, or pass `allowArbitraryCommands: true` to createTerminalsDevframe().";
  };
  readonly DP_TERMINALS_0003: {
    readonly why: (p: {
      id: string;
    }) => string;
    readonly fix: "Spawn the session with `mode: \"interactive\"` to accept input.";
  };
  readonly DP_TERMINALS_0004: {
    readonly why: (p: {
      command: string;
      reason: string;
    }) => string;
  };
  readonly DP_TERMINALS_0005: {
    readonly why: "Native PTY bindings (zigpty) are unavailable; interactive sessions fall back to pipe-based terminal emulation. Full-screen TUIs may not render correctly.";
    readonly fix: "Check that this platform is covered by zigpty's prebuilds (Linux/macOS/Windows, x64/arm64, glibc/musl) and that the dependency installed intact.";
  };
  readonly DP_TERMINALS_0006: {
    readonly why: (p: {
      id: string;
    }) => string;
  };
  readonly DP_TERMINALS_0007: {
    readonly why: "Terminals manager is not initialised on this context";
    readonly fix: "Call setupTerminals(ctx) (or use createTerminalsDevframe) before invoking terminal RPCs.";
  };
}, readonly [typeof reporter]>;
// #endregion