import { type I1ChangeSetReviewReadModel, type I1FactoryRunDetailReadModel } from "@awp/contracts";
import type { C1ProjectOverviewPayload, C1TaskFixturePayload, SurfaceState } from "./model.js";
export interface ProjectPageSnapshot {
    readonly surfaceState: SurfaceState;
    readonly revision: number;
    readonly model: C1ProjectOverviewPayload;
    readonly tasks: readonly C1TaskFixturePayload[];
}
export interface FactoryPageSnapshot {
    readonly surfaceState: Exclude<SurfaceState, "empty">;
    readonly revision: number;
    readonly model: I1FactoryRunDetailReadModel;
}
export interface ReviewPageSnapshot {
    readonly surfaceState: Exclude<SurfaceState, "empty">;
    readonly revision: number;
    readonly model: I1ChangeSetReviewReadModel;
}
export interface AwpWebDataSource {
    project(projectId: string): ProjectPageSnapshot;
    factoryRun(factoryRunId: string): FactoryPageSnapshot;
    review(changeSetId: string): ReviewPageSnapshot;
}
/**
 * Deterministic contract-shaped source used only for development/render tests.
 * Production integration supplies the same transport-safe authoritative read-model
 * shapes from the control plane; URL parameters never promote lifecycle state.
 */
export declare const deterministicC1DataSource: AwpWebDataSource;
export declare function fixtureDataSource(mode: string | undefined): AwpWebDataSource;
//# sourceMappingURL=data-source.d.ts.map