import { type WindowsConsoleDeps } from './WindowsConsoleMode.js'; type StdinLike = { isTTY?: boolean; isRaw?: boolean; setRawMode?: (mode: boolean) => unknown; resume?: () => unknown; pause?: () => unknown; }; type StdoutLike = { isTTY?: boolean; write?: (chunk: string) => unknown; }; type ProcessLike = { stdin?: StdinLike; stdout?: StdoutLike; stderr?: StdoutLike; on?: (event: string, listener: (...args: unknown[]) => void) => unknown; off?: (event: string, listener: (...args: unknown[]) => void) => unknown; removeListener?: (event: string, listener: (...args: unknown[]) => void) => unknown; exit?: (code?: number) => never; }; export type TerminalLifecycleDeps = { process?: ProcessLike; platform?: NodeJS.Platform; windowsConsole?: WindowsConsoleDeps; onCleanup?: (reason: string, error?: unknown) => void | Promise; installSignalHandlers?: boolean; exitOnSignal?: boolean; exit?: (code: number) => never | void; }; export type TerminalLifecycle = { start(): Promise; dispose(): Promise; installSignalHandlers(): void; uninstallSignalHandlers(): void; resetTerminal(): void; setRawMode(enabled: boolean): void; readonly started: boolean; readonly disposed: boolean; }; export declare function createTerminalLifecycle(deps?: TerminalLifecycleDeps): TerminalLifecycle; export {}; //# sourceMappingURL=TerminalLifecycle.d.ts.map