/** * Conservatively identifies commands whose stdout is owned by a test runner. * Mixed shell expressions are deliberately excluded because their output has * more than one semantic owner and cannot be projected safely as test output. */ export declare function isProjectableTestCommand(command: string): boolean; export interface ShellOutputProjection { kind: "test"; content: string; inputLines: number; inputBytes: number; outputLines: number; outputBytes: number; omittedLines: number; collapsedPassingLines: number; } export type ShellOutputProjectionDetails = Omit; /** * Incremental, bounded projector for recognized test-runner output. It retains * failure identity, nearby diagnostics, summaries, and final context while * counting passing/progress chatter instead of retaining it. The caller owns * exact raw-output persistence and must fall back to raw output if that handoff * cannot be created. */ export declare class ShellOutputProjector { private readonly decoder; private readonly selected; private readonly recent; private currentHead; private currentTail; private currentChars; private hasOpenLine; private totalBytes; private totalLines; private collapsedPassingLines; private failureSignals; private followFailureLines; private finished; private cachedProjection; append(data: Buffer): void; finish(exitCode: number | null): ShellOutputProjection | undefined; private appendDecodedText; private appendToCurrentLine; private completeLine; private select; private renderSelected; } export declare function createShellOutputProjector(command: string): ShellOutputProjector | undefined; //# sourceMappingURL=shell-output-projection.d.ts.map