import type { ProducerLogger } from "../../logger.js";
import type { ProgressCallback, RenderJob } from "../renderOrchestrator.js";
/** Serializes progress delivery and contains sink failures at the boundary. */
export declare class OrderedRenderEventPublisher {
    private readonly sink;
    private readonly log;
    private tail;
    constructor(sink: ProgressCallback | undefined, log: ProducerLogger);
    publish(job: RenderJob, message: string): void;
    flush(): Promise<void>;
}
type StructuredRenderFailure = {
    error: string;
    failedStage: string;
    errorDetails: NonNullable<RenderJob["errorDetails"]>;
};
/** Populates the complete failure contract before publishing its immutable terminal snapshot. */
export declare function publishRenderFailure(job: RenderJob, failure: StructuredRenderFailure, onProgress?: ProgressCallback): void;
export {};
//# sourceMappingURL=renderEventPublisher.d.ts.map