import { type LaunchRequest, type LaunchResult, type PtyCapability } from "./transport.js"; import type { TerminalDimensions } from "./types.js"; export interface PtyProcessLike { readonly pid: number; onData(listener: (data: string | Buffer) => void): { dispose(): void; }; onExit(listener: (event: { exitCode: number; signal?: number | undefined; }) => void): { dispose(): void; }; write(data: string): void; resize(columns: number, rows: number): void; pause(): void; resume(): void; kill(signal?: string): void; } export interface NodePtyModuleLike { spawn(file: string, args: string[] | string, options: { cwd: string; env: Record; cols: number; rows: number; name?: string; useConpty?: boolean; }): PtyProcessLike; } export declare function probePtyCapability(platform?: NodeJS.Platform): Promise; export declare function resetPtyCapabilityCache(): void; export interface PtyStartOverrides { readonly module?: NodePtyModuleLike | undefined; readonly shell?: string | null | undefined; } export declare function startPtyTransport(request: LaunchRequest & { dimensions: TerminalDimensions; }, overrides?: PtyStartOverrides): Promise;