export declare const BRACKETED_PASTE_ON = "\u001B[?2004h"; export declare const BRACKETED_PASTE_OFF = "\u001B[?2004l"; export declare const CURSOR_HIDE = "\u001B[?25l"; export declare const CURSOR_SHOW = "\u001B[?25h"; export declare const MOUSE_ON = "\u001B[?1000h\u001B[?1002h\u001B[?1006h"; export declare const MOUSE_OFF = "\u001B[?1006l\u001B[?1002l\u001B[?1000l"; export declare const CLEAR_SCREEN = "\u001B[2J\u001B[H"; export declare const ALT_SCREEN_ON = "\u001B[?1049h"; export declare const ALT_SCREEN_OFF = "\u001B[?1049l"; export declare const CLEAR_SCREEN_ONLY = "\u001B[2J"; export declare const CURSOR_HOME = "\u001B[H"; export type TerminalDataListener = (chunk: string) => void; export interface TerminalOutput { write(chunk: string): unknown; } export interface TerminalInput { readonly isTTY?: boolean | undefined; setRawMode?(mode: boolean): unknown; setEncoding?(encoding: "utf8"): unknown; resume?(): unknown; pause?(): unknown; on(event: "data", listener: (chunk: string | Buffer) => void): unknown; off(event: "data", listener: (chunk: string | Buffer) => void): unknown; } export interface TerminalSessionOptions { readonly stdout?: TerminalOutput | undefined; readonly stdin?: TerminalInput | undefined; readonly mouse?: boolean | undefined; readonly env?: Readonly> | undefined; } interface TerminalSessionMode { readonly alternateScreen: boolean; readonly detachOnLeave: boolean; } export declare class TerminalSession { private readonly stdout; private readonly stdin; private readonly mouse; private readonly mode; private enteredValue; private inputAttachedValue; private listener; private handler; private rescueDisarm; constructor(options?: TerminalSessionOptions, mode?: TerminalSessionMode); get entered(): boolean; get isOwned(): boolean; get inputAttached(): boolean; get mouseEnabled(): boolean; enter(): void; leave(): void; attachInput(onData?: TerminalDataListener): void; detachInput(): void; write(text: string): void; clearScreen(): void; private emit; } export declare function createTerminalSession(options?: TerminalSessionOptions): TerminalSession; export {};