import type { WALEvent } from './types.js';
export declare class WAL {
    private readonly walPath;
    private readonly runDir;
    private seq;
    private outputDirCreated;
    private cachedContent;
    constructor(runDir: string);
    get currentSeq(): number;
    append(partial: Omit<WALEvent, 'seq' | 'ts'>): WALEvent;
    private ensureOutputDir;
    private readWALContent;
    replay(afterSeq?: number): WALEvent[];
    persistOutput(nodeId: string, output: string): string | {
        __vsaf_ref: string;
    };
    persistStructuredOutput(nodeId: string, data: Record<string, unknown>): Record<string, unknown> | {
        __vsaf_ref: string;
    };
    getOutputRef(nodeId: string, output: string): string | {
        __vsaf_ref: string;
    };
    getStructuredOutputRef(nodeId: string, data: Record<string, unknown>): Record<string, unknown> | {
        __vsaf_ref: string;
    };
    resolveOutput(stored: string | {
        __vsaf_ref: string;
    } | {
        ref: string;
    }): string;
    resolveStructuredOutput(stored: Record<string, unknown> | {
        __vsaf_ref: string;
    } | {
        ref: string;
    }): Record<string, unknown>;
    private loadLastSeq;
    static hasTerminalAfter(runDir: string, afterSeq: number): boolean;
}
//# sourceMappingURL=wal.d.ts.map