import type { SessionBackend, SpawnOpts } from './types.js';
export declare class PtyBackend implements SessionBackend {
    private process;
    /** Claude Code session JSONL path — set by worker for claude-code sessions so
     *  the claude-code adapter can verify paste+Enter submissions via file growth. */
    claudeJsonlPath?: string;
    /** PID of the spawned Claude Code child — used by the claude-code adapter to
     *  follow Claude's authoritative session id via ~/.claude/sessions/<pid>.json. */
    cliPid?: number;
    /** Working directory the CLI was spawned in — cross-checked against the pid
     *  file's cwd field so a recycled PID can't mislead the resolver. */
    cliCwd?: string;
    spawn(bin: string, args: string[], opts: SpawnOpts): void;
    write(data: string): void;
    resize(cols: number, rows: number): void;
    /** Must be called AFTER spawn(). Callbacks registered before spawn are silently lost. */
    onData(cb: (data: string) => void): void;
    /** Must be called AFTER spawn(). Callbacks registered before spawn are silently lost. */
    onExit(cb: (code: number | null, signal: string | null) => void): void;
    getChildPid(): number | null;
    kill(): void;
}
//# sourceMappingURL=pty-backend.d.ts.map