export type RuntimeReferenceKind = "route" | "asset" | "module-export" | "peer-dependency" | "binding" | "migration" | "queue" | "script" | "executable" | "config-path";
export type RuntimeReference = {
    referenceId: string;
    kind: RuntimeReferenceKind;
    target: string;
    packagedEnvironment: string;
    resolved: boolean;
    resolutionError?: string;
};
export type RuntimeReferenceScenario = {
    scenarioId: string;
    kind: "runtime-reference";
    references: RuntimeReference[];
};
export type CurrentBuildInputs = {
    sourceRevision: string;
    configDigest: string;
    lockDigest: string;
};
export type ArtifactStatus = "current" | "stale" | "mixed-tree" | "duplicated" | "missing" | "untracked";
export type ArtifactRecord = {
    artifactId: string;
    path: string;
    present: boolean;
    status: ArtifactStatus;
    derivedFrom?: CurrentBuildInputs;
    detail?: string;
};
export type ArtifactClosureScenario = {
    scenarioId: string;
    kind: "artifact-closure";
    currentInputs: CurrentBuildInputs;
    artifacts: ArtifactRecord[];
};
export type InventoryProvenanceKind = "production" | "test" | "fixture" | "generated" | "dependency" | "source-only";
export type InventoryEntry = {
    surfaceId: string;
    path: string;
    actualProvenance: InventoryProvenanceKind;
    declaredProvenance?: InventoryProvenanceKind;
    includedInProductionInventory: boolean;
};
export type InventoryProvenanceScenario = {
    scenarioId: string;
    kind: "inventory-provenance";
    entries: InventoryEntry[];
};
export type ClosureScenario = RuntimeReferenceScenario | ArtifactClosureScenario | InventoryProvenanceScenario;
export type ClosureFixture = {
    fixtureId: string;
    closureVersion: string;
    scenarios: ClosureScenario[];
    intentionalException?: {
        rules: string[];
        reason: string;
    };
};
//# sourceMappingURL=types.d.ts.map