/**
 * Fixture replay runner.
 *
 * Given a `.pty` byte capture and `.expected.json` declaration, replay the
 * bytes through the daemon's TerminalTranscriptAccumulator, invoke the
 * provider handlers at each anchor, and diff against expectations.
 *
 * Used by:
 *   - `adhdev provider test` (daemon-cloud CLI)
 *   - daemon-core CI suite for production-provider regression tests
 *   - external authors as `adhdev provider test ./`
 */
import { type CliScriptInput as InternalCliScriptInput, type CliStatusInput as InternalCliStatusInput, type CliApprovalInput as InternalCliApprovalInput, type ParsedSession as InternalParsedSession } from '../../../../cli-adapters/provider-cli-shared.js';
import type { FixtureExpected, FixtureReplayResult } from './format.js';
export interface CliProviderHandlers {
    createState?: () => Record<string, unknown>;
    parseSession: (state: unknown, input: InternalCliScriptInput) => InternalParsedSession;
    detectStatus: (input: InternalCliStatusInput) => string | null;
    parseApproval: (input: InternalCliApprovalInput) => {
        message: string;
        buttons: string[];
    } | null;
    parseOutput?: (state: unknown, input: InternalCliScriptInput) => unknown;
}
export interface ReplayOptions {
    /** Override accumulator dimensions. Defaults to the fixture's terminal block or 80x24. */
    cols?: number;
    rows?: number;
    /** Provided manually (e.g. by tests). Defaults to wall-clock at replay start. */
    spawnAt?: number;
}
export declare function loadFixtureExpected(expectedPath: string): FixtureExpected;
export declare function replayFixture(expectedPath: string, handlers: CliProviderHandlers, options?: ReplayOptions): FixtureReplayResult;
/**
 * Format a result as a human-readable report. Returns the multi-line string;
 * caller decides whether to print or assert.
 */
export declare function formatReplayReport(result: FixtureReplayResult): string;
