import type { TerminalSessionDataHandler, TerminalSessionHandle, TerminalSessionNativeOptions, TerminalSessionSignal } from "./session-types.ts"; export interface BunTerminal { readonly write: (data: string | Uint8Array) => void; readonly resize: (cols: number, rows: number) => void; } interface BunSubprocess { readonly terminal: BunTerminal; readonly exited: Promise; kill: (signal?: TerminalSessionSignal) => void; } interface BunSpawnOptions { readonly cwd?: string; readonly env?: Readonly>; readonly terminal: { readonly cols: number; readonly rows: number; readonly data: (terminal: BunTerminal, data: Uint8Array) => void; }; } export interface BunRuntimeVersions { readonly bun?: unknown; } export interface BunRuntime { readonly spawn: (command: readonly string[], options: BunSpawnOptions) => BunSubprocess; } export declare const ENV_BUN_TERMINAL = "SENPI_BUN_TERMINAL"; export declare function isBunTerminalEnabled(env?: Readonly>, versions?: BunRuntimeVersions): boolean; export declare function createBunTerminalSession(options: TerminalSessionNativeOptions, onData: TerminalSessionDataHandler, runtime?: BunRuntime): TerminalSessionHandle; export {}; //# sourceMappingURL=session-bun.d.ts.map