import { type TerminalKey } from "./keys.js"; import { TerminalScreen } from "./terminal-screen.js"; type TerminalSessionOptions = { id: string; command: string; args?: string[]; cwd?: string; env?: Record; cols?: number; rows?: number; observe?: boolean; }; export type WaitForOptions = { timeout?: number; scope?: "history" | "screen"; }; export type HistoryOptions = { last?: number; }; export declare class TerminalSession { readonly id: string; readonly command: string; readonly pid: number; exitCode: number | null; private readonly pty; private readonly terminal; private readonly emitter; private readonly exitPromise; private rawBuffer; private lastDataAt; private currentCols; private currentRows; private closePromise; constructor({ id, command, args, cwd, env, cols, rows, observe }: TerminalSessionOptions); type(text: string): Promise; fill(text: string): Promise; press(key: TerminalKey): Promise; send(raw: string): Promise; signal(sig: string): Promise; waitFor(pattern: string | RegExp, opts?: WaitForOptions): Promise; waitForQuiet(ms: number): Promise; screen(): Promise; history(opts?: HistoryOptions): Promise; resize(cols: number, rows: number): Promise; waitForExit(opts?: { timeout?: number; }): Promise; close(): Promise; private closeProcess; on(event: "exit", cb: (code: number) => void): void; } export {};