import { ShellJobRegistry, type ShellJob, type ShellResult, type ShellErrorReason } from '../../../agent/shell-jobs/index.js'; export interface ShellPassthroughOptions { writeLine: (text: string) => void; getCwd: () => string | undefined; } export declare function parseShellTrigger(input: string): { mode: 'foreground' | 'background'; command: string; } | null; export interface PendingBgNotification { job: ShellJob; result: ShellResult; } export declare class ShellPassthrough { private readonly opts; readonly registry: ShellJobRegistry; private pendingInjections; private pendingNotifications; private activeFgJobId; static readonly MAX_PENDING_INJECTIONS = 25; static readonly MAX_PENDING_NOTIFICATIONS = 50; constructor(opts: ShellPassthroughOptions); dispatch(input: string): Promise; drainInjections(): string; drainNotifications(): readonly PendingBgNotification[]; abortActiveForeground(): boolean; hasActiveForeground(): boolean; drainOnExit(): void; private runForeground; private startBackground; private queueInjection; } export type { ShellJob, ShellResult, ShellErrorReason };