import { z } from 'zod';
import { type EntityBounds } from './entity/types.js';
export declare const EntityGraphDiagnosticV1Schema: z.ZodObject<{
    schema_version: z.ZodLiteral<1>;
    type: z.ZodLiteral<"diagnostic">;
    severity: z.ZodEnum<{
        error: "error";
        warning: "warning";
    }>;
    code: z.ZodString;
    message: z.ZodString;
    parent_ref: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    child_ref: z.ZodOptional<z.ZodString>;
    path: z.ZodOptional<z.ZodString>;
}, z.core.$strict>;
export type EntityGraphDiagnosticV1 = z.infer<typeof EntityGraphDiagnosticV1Schema>;
export declare const EntityGraphHeaderV1Schema: z.ZodObject<{
    schema_version: z.ZodLiteral<1>;
    type: z.ZodLiteral<"header">;
    requested_ref: z.ZodString;
    resolved_ref: z.ZodString;
    object_format: z.ZodEnum<{
        sha1: "sha1";
        sha256: "sha256";
    }>;
    shallow: z.ZodBoolean;
    lineage_run_id: z.ZodString;
    formats: z.ZodBoolean;
    entity_bounds: z.ZodObject<{
        max_commits: z.ZodNumber;
        max_files_per_commit: z.ZodNumber;
        max_blob_bytes: z.ZodNumber;
        max_blob_lines: z.ZodNumber;
        max_total_blob_bytes: z.ZodNumber;
        max_batch_bytes: z.ZodNumber;
        max_entities_per_file: z.ZodNumber;
        max_entities_total: z.ZodNumber;
        max_live_entities: z.ZodNumber;
        max_lineage_events: z.ZodNumber;
        max_cross_file_candidates: z.ZodNumber;
        max_similarity_candidates: z.ZodNumber;
    }, z.core.$strict>;
    bounds: z.ZodObject<{
        max_commits: z.ZodNumber;
        max_nodes: z.ZodNumber;
        max_edges: z.ZodNumber;
        max_seams: z.ZodNumber;
        max_entities_per_transition: z.ZodNumber;
        max_structure_files: z.ZodNumber;
    }, z.core.$strict>;
    provenance: z.ZodObject<{
        instrument: z.ZodLiteral<"occ.code.entity-graph">;
        instrument_version: z.ZodLiteral<1>;
        occ_version: z.ZodString;
        node_version: z.ZodString;
    }, z.core.$strict>;
    policy: z.ZodObject<{
        topology: z.ZodLiteral<"all-parent-edges">;
        node_basis: z.ZodLiteral<"all-observed-lineages">;
        edge_basis: z.ZodLiteral<"unified-undirected-entity-pairs">;
        cochange_basis: z.ZodLiteral<"logic-entity-presence-per-parent-edge">;
        cochange_denominator: z.ZodLiteral<"parent-child-edges">;
        structure_basis: z.ZodLiteral<"pinned-git-blob-structure">;
        structure_kinds: z.ZodTuple<[z.ZodLiteral<"imports">, z.ZodLiteral<"calls">, z.ZodLiteral<"inherits">], null>;
        seam_basis: z.ZodLiteral<"pinned-import-call-module-pairs">;
        historical_structure: z.ZodLiteral<"unavailable">;
        source_bodies: z.ZodLiteral<"omitted">;
        native_identity: z.ZodLiteral<"git-oid-path-span-digest">;
        lineage_identity: z.ZodLiteral<"derived-run-scoped-correlation">;
        checkout_node_ids: z.ZodLiteral<"omitted">;
    }, z.core.$strict>;
}, z.core.$strict>;
export type EntityGraphHeaderV1 = z.infer<typeof EntityGraphHeaderV1Schema>;
export declare const EntityGraphNodeV1Schema: z.ZodObject<{
    schema_version: z.ZodLiteral<1>;
    type: z.ZodLiteral<"node">;
    lineage_id: z.ZodString;
    entity_lineage_id: z.ZodNullable<z.ZodString>;
    state: z.ZodEnum<{
        unknown: "unknown";
        live: "live";
        historical: "historical";
    }>;
    coordinate: z.ZodNullable<z.ZodObject<{
        oid: z.ZodString;
        path: z.ZodString;
        span: z.ZodObject<{
            start_line: z.ZodNumber;
            end_line: z.ZodNumber;
            exact: z.ZodBoolean;
        }, z.core.$strict>;
        span_digest: z.ZodString;
    }, z.core.$strict>>;
    module: z.ZodNullable<z.ZodString>;
    declaration: z.ZodNullable<z.ZodObject<{
        kind: z.ZodString;
        name: z.ZodString;
        qualified_name: z.ZodString;
        is_exported: z.ZodBoolean;
    }, z.core.$strict>>;
    observations: z.ZodObject<{
        transitions: z.ZodNumber;
        logic_transitions: z.ZodNumber;
        coordinates: z.ZodNumber;
        first_ref: z.ZodString;
        last_ref: z.ZodString;
    }, z.core.$strict>;
    structure: z.ZodObject<{
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        basis: z.ZodEnum<{
            "coordinate-unavailable": "coordinate-unavailable";
            "pinned-git-blob-structure": "pinned-git-blob-structure";
            "historical-unavailable": "historical-unavailable";
        }>;
        reason: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>;
}, z.core.$strict>;
export type EntityGraphNodeV1 = z.infer<typeof EntityGraphNodeV1Schema>;
export declare const EntityGraphEdgeV1Schema: z.ZodObject<{
    schema_version: z.ZodLiteral<1>;
    type: z.ZodLiteral<"edge">;
    source_lineage_id: z.ZodString;
    target_lineage_id: z.ZodString;
    cochange: z.ZodObject<{
        count: z.ZodNumber;
        source_change_count: z.ZodNumber;
        target_change_count: z.ZodNumber;
        lift: z.ZodNullable<z.ZodNumber>;
        denominator: z.ZodNumber;
        last_ref: z.ZodNullable<z.ZodString>;
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
    incidence: z.ZodObject<{
        source_to_target: z.ZodObject<{
            calls: z.ZodNumber;
            inherits: z.ZodNumber;
        }, z.core.$strict>;
        target_to_source: z.ZodObject<{
            calls: z.ZodNumber;
            inherits: z.ZodNumber;
        }, z.core.$strict>;
        total: z.ZodNumber;
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
    seam_membership: z.ZodObject<{
        member: z.ZodBoolean;
        seam_keys: z.ZodArray<z.ZodString>;
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
}, z.core.$strict>;
export type EntityGraphEdgeV1 = z.infer<typeof EntityGraphEdgeV1Schema>;
export declare const EntityGraphSeamV1Schema: z.ZodObject<{
    schema_version: z.ZodLiteral<1>;
    type: z.ZodLiteral<"seam">;
    seam_key: z.ZodString;
    module_a: z.ZodString;
    module_b: z.ZodString;
    import_count: z.ZodNumber;
    call_count: z.ZodNumber;
    coverage: z.ZodEnum<{
        partial: "partial";
        unavailable: "unavailable";
        complete: "complete";
    }>;
}, z.core.$strict>;
export type EntityGraphSeamV1 = z.infer<typeof EntityGraphSeamV1Schema>;
export declare const EntityGraphFooterV1Schema: z.ZodObject<{
    schema_version: z.ZodLiteral<1>;
    type: z.ZodLiteral<"footer">;
    complete: z.ZodBoolean;
    coverage: z.ZodObject<{
        history: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        lineages: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        head_mapping: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        cochange: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        structure: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        incidence: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        seams: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
    counts: z.ZodObject<{
        transitions: z.ZodNumber;
        transitions_skipped_as_broad: z.ZodNumber;
        nodes: z.ZodNumber;
        live_nodes: z.ZodNumber;
        historical_nodes: z.ZodNumber;
        unknown_nodes: z.ZodNumber;
        edges: z.ZodNumber;
        seams: z.ZodNumber;
        cochange_edges: z.ZodNumber;
        incidence_edges: z.ZodNumber;
        structure_files: z.ZodNumber;
        declarations_resolved: z.ZodNumber;
        facts_resolved: z.ZodNumber;
        facts_unresolved: z.ZodNumber;
        diagnostics: z.ZodNumber;
    }, z.core.$strict>;
}, z.core.$strict>;
export type EntityGraphFooterV1 = z.infer<typeof EntityGraphFooterV1Schema>;
export declare const OccEntityGraphEventV1Schema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    schema_version: z.ZodLiteral<1>;
    type: z.ZodLiteral<"header">;
    requested_ref: z.ZodString;
    resolved_ref: z.ZodString;
    object_format: z.ZodEnum<{
        sha1: "sha1";
        sha256: "sha256";
    }>;
    shallow: z.ZodBoolean;
    lineage_run_id: z.ZodString;
    formats: z.ZodBoolean;
    entity_bounds: z.ZodObject<{
        max_commits: z.ZodNumber;
        max_files_per_commit: z.ZodNumber;
        max_blob_bytes: z.ZodNumber;
        max_blob_lines: z.ZodNumber;
        max_total_blob_bytes: z.ZodNumber;
        max_batch_bytes: z.ZodNumber;
        max_entities_per_file: z.ZodNumber;
        max_entities_total: z.ZodNumber;
        max_live_entities: z.ZodNumber;
        max_lineage_events: z.ZodNumber;
        max_cross_file_candidates: z.ZodNumber;
        max_similarity_candidates: z.ZodNumber;
    }, z.core.$strict>;
    bounds: z.ZodObject<{
        max_commits: z.ZodNumber;
        max_nodes: z.ZodNumber;
        max_edges: z.ZodNumber;
        max_seams: z.ZodNumber;
        max_entities_per_transition: z.ZodNumber;
        max_structure_files: z.ZodNumber;
    }, z.core.$strict>;
    provenance: z.ZodObject<{
        instrument: z.ZodLiteral<"occ.code.entity-graph">;
        instrument_version: z.ZodLiteral<1>;
        occ_version: z.ZodString;
        node_version: z.ZodString;
    }, z.core.$strict>;
    policy: z.ZodObject<{
        topology: z.ZodLiteral<"all-parent-edges">;
        node_basis: z.ZodLiteral<"all-observed-lineages">;
        edge_basis: z.ZodLiteral<"unified-undirected-entity-pairs">;
        cochange_basis: z.ZodLiteral<"logic-entity-presence-per-parent-edge">;
        cochange_denominator: z.ZodLiteral<"parent-child-edges">;
        structure_basis: z.ZodLiteral<"pinned-git-blob-structure">;
        structure_kinds: z.ZodTuple<[z.ZodLiteral<"imports">, z.ZodLiteral<"calls">, z.ZodLiteral<"inherits">], null>;
        seam_basis: z.ZodLiteral<"pinned-import-call-module-pairs">;
        historical_structure: z.ZodLiteral<"unavailable">;
        source_bodies: z.ZodLiteral<"omitted">;
        native_identity: z.ZodLiteral<"git-oid-path-span-digest">;
        lineage_identity: z.ZodLiteral<"derived-run-scoped-correlation">;
        checkout_node_ids: z.ZodLiteral<"omitted">;
    }, z.core.$strict>;
}, z.core.$strict>, z.ZodObject<{
    schema_version: z.ZodLiteral<1>;
    type: z.ZodLiteral<"diagnostic">;
    severity: z.ZodEnum<{
        error: "error";
        warning: "warning";
    }>;
    code: z.ZodString;
    message: z.ZodString;
    parent_ref: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    child_ref: z.ZodOptional<z.ZodString>;
    path: z.ZodOptional<z.ZodString>;
}, z.core.$strict>, z.ZodObject<{
    schema_version: z.ZodLiteral<1>;
    type: z.ZodLiteral<"node">;
    lineage_id: z.ZodString;
    entity_lineage_id: z.ZodNullable<z.ZodString>;
    state: z.ZodEnum<{
        unknown: "unknown";
        live: "live";
        historical: "historical";
    }>;
    coordinate: z.ZodNullable<z.ZodObject<{
        oid: z.ZodString;
        path: z.ZodString;
        span: z.ZodObject<{
            start_line: z.ZodNumber;
            end_line: z.ZodNumber;
            exact: z.ZodBoolean;
        }, z.core.$strict>;
        span_digest: z.ZodString;
    }, z.core.$strict>>;
    module: z.ZodNullable<z.ZodString>;
    declaration: z.ZodNullable<z.ZodObject<{
        kind: z.ZodString;
        name: z.ZodString;
        qualified_name: z.ZodString;
        is_exported: z.ZodBoolean;
    }, z.core.$strict>>;
    observations: z.ZodObject<{
        transitions: z.ZodNumber;
        logic_transitions: z.ZodNumber;
        coordinates: z.ZodNumber;
        first_ref: z.ZodString;
        last_ref: z.ZodString;
    }, z.core.$strict>;
    structure: z.ZodObject<{
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        basis: z.ZodEnum<{
            "coordinate-unavailable": "coordinate-unavailable";
            "pinned-git-blob-structure": "pinned-git-blob-structure";
            "historical-unavailable": "historical-unavailable";
        }>;
        reason: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>;
}, z.core.$strict>, z.ZodObject<{
    schema_version: z.ZodLiteral<1>;
    type: z.ZodLiteral<"seam">;
    seam_key: z.ZodString;
    module_a: z.ZodString;
    module_b: z.ZodString;
    import_count: z.ZodNumber;
    call_count: z.ZodNumber;
    coverage: z.ZodEnum<{
        partial: "partial";
        unavailable: "unavailable";
        complete: "complete";
    }>;
}, z.core.$strict>, z.ZodObject<{
    schema_version: z.ZodLiteral<1>;
    type: z.ZodLiteral<"edge">;
    source_lineage_id: z.ZodString;
    target_lineage_id: z.ZodString;
    cochange: z.ZodObject<{
        count: z.ZodNumber;
        source_change_count: z.ZodNumber;
        target_change_count: z.ZodNumber;
        lift: z.ZodNullable<z.ZodNumber>;
        denominator: z.ZodNumber;
        last_ref: z.ZodNullable<z.ZodString>;
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
    incidence: z.ZodObject<{
        source_to_target: z.ZodObject<{
            calls: z.ZodNumber;
            inherits: z.ZodNumber;
        }, z.core.$strict>;
        target_to_source: z.ZodObject<{
            calls: z.ZodNumber;
            inherits: z.ZodNumber;
        }, z.core.$strict>;
        total: z.ZodNumber;
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
    seam_membership: z.ZodObject<{
        member: z.ZodBoolean;
        seam_keys: z.ZodArray<z.ZodString>;
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
}, z.core.$strict>, z.ZodObject<{
    schema_version: z.ZodLiteral<1>;
    type: z.ZodLiteral<"footer">;
    complete: z.ZodBoolean;
    coverage: z.ZodObject<{
        history: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        lineages: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        head_mapping: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        cochange: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        structure: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        incidence: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        seams: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
    counts: z.ZodObject<{
        transitions: z.ZodNumber;
        transitions_skipped_as_broad: z.ZodNumber;
        nodes: z.ZodNumber;
        live_nodes: z.ZodNumber;
        historical_nodes: z.ZodNumber;
        unknown_nodes: z.ZodNumber;
        edges: z.ZodNumber;
        seams: z.ZodNumber;
        cochange_edges: z.ZodNumber;
        incidence_edges: z.ZodNumber;
        structure_files: z.ZodNumber;
        declarations_resolved: z.ZodNumber;
        facts_resolved: z.ZodNumber;
        facts_unresolved: z.ZodNumber;
        diagnostics: z.ZodNumber;
    }, z.core.$strict>;
}, z.core.$strict>], "type">;
export type OccEntityGraphEventV1 = z.infer<typeof OccEntityGraphEventV1Schema>;
export declare const EntityGraphDiagnosticV2Schema: z.ZodObject<{
    message: z.ZodString;
    path: z.ZodOptional<z.ZodString>;
    code: z.ZodString;
    type: z.ZodLiteral<"diagnostic">;
    severity: z.ZodEnum<{
        error: "error";
        warning: "warning";
    }>;
    parent_ref: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    child_ref: z.ZodOptional<z.ZodString>;
    schema_version: z.ZodLiteral<2>;
}, z.core.$strict>;
export type EntityGraphDiagnosticV2 = z.infer<typeof EntityGraphDiagnosticV2Schema>;
export declare const EntityGraphHeaderV2Schema: z.ZodObject<{
    type: z.ZodLiteral<"header">;
    shallow: z.ZodBoolean;
    requested_ref: z.ZodString;
    resolved_ref: z.ZodString;
    object_format: z.ZodEnum<{
        sha1: "sha1";
        sha256: "sha256";
    }>;
    formats: z.ZodBoolean;
    bounds: z.ZodObject<{
        max_commits: z.ZodNumber;
        max_nodes: z.ZodNumber;
        max_edges: z.ZodNumber;
        max_seams: z.ZodNumber;
        max_entities_per_transition: z.ZodNumber;
        max_structure_files: z.ZodNumber;
    }, z.core.$strict>;
    lineage_run_id: z.ZodString;
    entity_bounds: z.ZodObject<{
        max_commits: z.ZodNumber;
        max_files_per_commit: z.ZodNumber;
        max_blob_bytes: z.ZodNumber;
        max_blob_lines: z.ZodNumber;
        max_total_blob_bytes: z.ZodNumber;
        max_batch_bytes: z.ZodNumber;
        max_entities_per_file: z.ZodNumber;
        max_entities_total: z.ZodNumber;
        max_live_entities: z.ZodNumber;
        max_lineage_events: z.ZodNumber;
        max_cross_file_candidates: z.ZodNumber;
        max_similarity_candidates: z.ZodNumber;
    }, z.core.$strict>;
    schema_version: z.ZodLiteral<2>;
    provenance: z.ZodObject<{
        instrument: z.ZodLiteral<"occ.code.entity-graph">;
        occ_version: z.ZodString;
        node_version: z.ZodString;
        instrument_version: z.ZodLiteral<2>;
    }, z.core.$strict>;
    policy: z.ZodObject<{
        topology: z.ZodLiteral<"all-parent-edges">;
        node_basis: z.ZodLiteral<"all-observed-lineages">;
        edge_basis: z.ZodLiteral<"unified-undirected-entity-pairs">;
        cochange_basis: z.ZodLiteral<"logic-entity-presence-per-parent-edge">;
        cochange_denominator: z.ZodLiteral<"parent-child-edges">;
        structure_basis: z.ZodLiteral<"pinned-git-blob-structure">;
        structure_kinds: z.ZodTuple<[z.ZodLiteral<"imports">, z.ZodLiteral<"calls">, z.ZodLiteral<"inherits">], null>;
        seam_basis: z.ZodLiteral<"pinned-import-call-module-pairs">;
        historical_structure: z.ZodLiteral<"unavailable">;
        source_bodies: z.ZodLiteral<"omitted">;
        native_identity: z.ZodLiteral<"git-oid-path-span-digest">;
        lineage_identity: z.ZodLiteral<"derived-run-scoped-correlation">;
        checkout_node_ids: z.ZodLiteral<"omitted">;
        atoms_contract: z.ZodLiteral<"occ.atoms@2">;
        blob_structure_contract: z.ZodLiteral<"occ.git-blob-structure@2">;
    }, z.core.$strict>;
}, z.core.$strict>;
export type EntityGraphHeaderV2 = z.infer<typeof EntityGraphHeaderV2Schema>;
export declare const EntityGraphNodeV2Schema: z.ZodObject<{
    type: z.ZodLiteral<"node">;
    structure: z.ZodObject<{
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        basis: z.ZodEnum<{
            "coordinate-unavailable": "coordinate-unavailable";
            "pinned-git-blob-structure": "pinned-git-blob-structure";
            "historical-unavailable": "historical-unavailable";
        }>;
        reason: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>;
    module: z.ZodNullable<z.ZodString>;
    declaration: z.ZodNullable<z.ZodObject<{
        kind: z.ZodString;
        name: z.ZodString;
        qualified_name: z.ZodString;
        is_exported: z.ZodBoolean;
    }, z.core.$strict>>;
    coordinate: z.ZodNullable<z.ZodObject<{
        oid: z.ZodString;
        path: z.ZodString;
        span: z.ZodObject<{
            start_line: z.ZodNumber;
            end_line: z.ZodNumber;
            exact: z.ZodBoolean;
        }, z.core.$strict>;
        span_digest: z.ZodString;
    }, z.core.$strict>>;
    state: z.ZodEnum<{
        unknown: "unknown";
        live: "live";
        historical: "historical";
    }>;
    lineage_id: z.ZodString;
    entity_lineage_id: z.ZodNullable<z.ZodString>;
    observations: z.ZodObject<{
        transitions: z.ZodNumber;
        logic_transitions: z.ZodNumber;
        coordinates: z.ZodNumber;
        first_ref: z.ZodString;
        last_ref: z.ZodString;
    }, z.core.$strict>;
    schema_version: z.ZodLiteral<2>;
}, z.core.$strict>;
export type EntityGraphNodeV2 = z.infer<typeof EntityGraphNodeV2Schema>;
export declare const EntityGraphEdgeV2Schema: z.ZodObject<{
    type: z.ZodLiteral<"edge">;
    cochange: z.ZodObject<{
        count: z.ZodNumber;
        source_change_count: z.ZodNumber;
        target_change_count: z.ZodNumber;
        lift: z.ZodNullable<z.ZodNumber>;
        denominator: z.ZodNumber;
        last_ref: z.ZodNullable<z.ZodString>;
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
    source_lineage_id: z.ZodString;
    target_lineage_id: z.ZodString;
    incidence: z.ZodObject<{
        source_to_target: z.ZodObject<{
            calls: z.ZodNumber;
            inherits: z.ZodNumber;
        }, z.core.$strict>;
        target_to_source: z.ZodObject<{
            calls: z.ZodNumber;
            inherits: z.ZodNumber;
        }, z.core.$strict>;
        total: z.ZodNumber;
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
    seam_membership: z.ZodObject<{
        member: z.ZodBoolean;
        seam_keys: z.ZodArray<z.ZodString>;
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
    schema_version: z.ZodLiteral<2>;
}, z.core.$strict>;
export type EntityGraphEdgeV2 = z.infer<typeof EntityGraphEdgeV2Schema>;
export declare const EntityGraphSeamV2Schema: z.ZodObject<{
    coverage: z.ZodEnum<{
        partial: "partial";
        unavailable: "unavailable";
        complete: "complete";
    }>;
    type: z.ZodLiteral<"seam">;
    module_a: z.ZodString;
    module_b: z.ZodString;
    seam_key: z.ZodString;
    import_count: z.ZodNumber;
    call_count: z.ZodNumber;
    schema_version: z.ZodLiteral<2>;
}, z.core.$strict>;
export type EntityGraphSeamV2 = z.infer<typeof EntityGraphSeamV2Schema>;
export declare const EntityGraphFooterV2Schema: z.ZodObject<{
    coverage: z.ZodObject<{
        history: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        lineages: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        head_mapping: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        cochange: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        structure: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        incidence: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        seams: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
    type: z.ZodLiteral<"footer">;
    counts: z.ZodObject<{
        transitions: z.ZodNumber;
        transitions_skipped_as_broad: z.ZodNumber;
        nodes: z.ZodNumber;
        live_nodes: z.ZodNumber;
        historical_nodes: z.ZodNumber;
        unknown_nodes: z.ZodNumber;
        edges: z.ZodNumber;
        seams: z.ZodNumber;
        cochange_edges: z.ZodNumber;
        incidence_edges: z.ZodNumber;
        structure_files: z.ZodNumber;
        declarations_resolved: z.ZodNumber;
        facts_resolved: z.ZodNumber;
        facts_unresolved: z.ZodNumber;
        diagnostics: z.ZodNumber;
    }, z.core.$strict>;
    complete: z.ZodBoolean;
    schema_version: z.ZodLiteral<2>;
}, z.core.$strict>;
export type EntityGraphFooterV2 = z.infer<typeof EntityGraphFooterV2Schema>;
export declare const OccEntityGraphEventV2Schema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    type: z.ZodLiteral<"header">;
    shallow: z.ZodBoolean;
    requested_ref: z.ZodString;
    resolved_ref: z.ZodString;
    object_format: z.ZodEnum<{
        sha1: "sha1";
        sha256: "sha256";
    }>;
    formats: z.ZodBoolean;
    bounds: z.ZodObject<{
        max_commits: z.ZodNumber;
        max_nodes: z.ZodNumber;
        max_edges: z.ZodNumber;
        max_seams: z.ZodNumber;
        max_entities_per_transition: z.ZodNumber;
        max_structure_files: z.ZodNumber;
    }, z.core.$strict>;
    lineage_run_id: z.ZodString;
    entity_bounds: z.ZodObject<{
        max_commits: z.ZodNumber;
        max_files_per_commit: z.ZodNumber;
        max_blob_bytes: z.ZodNumber;
        max_blob_lines: z.ZodNumber;
        max_total_blob_bytes: z.ZodNumber;
        max_batch_bytes: z.ZodNumber;
        max_entities_per_file: z.ZodNumber;
        max_entities_total: z.ZodNumber;
        max_live_entities: z.ZodNumber;
        max_lineage_events: z.ZodNumber;
        max_cross_file_candidates: z.ZodNumber;
        max_similarity_candidates: z.ZodNumber;
    }, z.core.$strict>;
    schema_version: z.ZodLiteral<2>;
    provenance: z.ZodObject<{
        instrument: z.ZodLiteral<"occ.code.entity-graph">;
        occ_version: z.ZodString;
        node_version: z.ZodString;
        instrument_version: z.ZodLiteral<2>;
    }, z.core.$strict>;
    policy: z.ZodObject<{
        topology: z.ZodLiteral<"all-parent-edges">;
        node_basis: z.ZodLiteral<"all-observed-lineages">;
        edge_basis: z.ZodLiteral<"unified-undirected-entity-pairs">;
        cochange_basis: z.ZodLiteral<"logic-entity-presence-per-parent-edge">;
        cochange_denominator: z.ZodLiteral<"parent-child-edges">;
        structure_basis: z.ZodLiteral<"pinned-git-blob-structure">;
        structure_kinds: z.ZodTuple<[z.ZodLiteral<"imports">, z.ZodLiteral<"calls">, z.ZodLiteral<"inherits">], null>;
        seam_basis: z.ZodLiteral<"pinned-import-call-module-pairs">;
        historical_structure: z.ZodLiteral<"unavailable">;
        source_bodies: z.ZodLiteral<"omitted">;
        native_identity: z.ZodLiteral<"git-oid-path-span-digest">;
        lineage_identity: z.ZodLiteral<"derived-run-scoped-correlation">;
        checkout_node_ids: z.ZodLiteral<"omitted">;
        atoms_contract: z.ZodLiteral<"occ.atoms@2">;
        blob_structure_contract: z.ZodLiteral<"occ.git-blob-structure@2">;
    }, z.core.$strict>;
}, z.core.$strict>, z.ZodObject<{
    message: z.ZodString;
    path: z.ZodOptional<z.ZodString>;
    code: z.ZodString;
    type: z.ZodLiteral<"diagnostic">;
    severity: z.ZodEnum<{
        error: "error";
        warning: "warning";
    }>;
    parent_ref: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    child_ref: z.ZodOptional<z.ZodString>;
    schema_version: z.ZodLiteral<2>;
}, z.core.$strict>, z.ZodObject<{
    type: z.ZodLiteral<"node">;
    structure: z.ZodObject<{
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        basis: z.ZodEnum<{
            "coordinate-unavailable": "coordinate-unavailable";
            "pinned-git-blob-structure": "pinned-git-blob-structure";
            "historical-unavailable": "historical-unavailable";
        }>;
        reason: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>;
    module: z.ZodNullable<z.ZodString>;
    declaration: z.ZodNullable<z.ZodObject<{
        kind: z.ZodString;
        name: z.ZodString;
        qualified_name: z.ZodString;
        is_exported: z.ZodBoolean;
    }, z.core.$strict>>;
    coordinate: z.ZodNullable<z.ZodObject<{
        oid: z.ZodString;
        path: z.ZodString;
        span: z.ZodObject<{
            start_line: z.ZodNumber;
            end_line: z.ZodNumber;
            exact: z.ZodBoolean;
        }, z.core.$strict>;
        span_digest: z.ZodString;
    }, z.core.$strict>>;
    state: z.ZodEnum<{
        unknown: "unknown";
        live: "live";
        historical: "historical";
    }>;
    lineage_id: z.ZodString;
    entity_lineage_id: z.ZodNullable<z.ZodString>;
    observations: z.ZodObject<{
        transitions: z.ZodNumber;
        logic_transitions: z.ZodNumber;
        coordinates: z.ZodNumber;
        first_ref: z.ZodString;
        last_ref: z.ZodString;
    }, z.core.$strict>;
    schema_version: z.ZodLiteral<2>;
}, z.core.$strict>, z.ZodObject<{
    coverage: z.ZodEnum<{
        partial: "partial";
        unavailable: "unavailable";
        complete: "complete";
    }>;
    type: z.ZodLiteral<"seam">;
    module_a: z.ZodString;
    module_b: z.ZodString;
    seam_key: z.ZodString;
    import_count: z.ZodNumber;
    call_count: z.ZodNumber;
    schema_version: z.ZodLiteral<2>;
}, z.core.$strict>, z.ZodObject<{
    type: z.ZodLiteral<"edge">;
    cochange: z.ZodObject<{
        count: z.ZodNumber;
        source_change_count: z.ZodNumber;
        target_change_count: z.ZodNumber;
        lift: z.ZodNullable<z.ZodNumber>;
        denominator: z.ZodNumber;
        last_ref: z.ZodNullable<z.ZodString>;
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
    source_lineage_id: z.ZodString;
    target_lineage_id: z.ZodString;
    incidence: z.ZodObject<{
        source_to_target: z.ZodObject<{
            calls: z.ZodNumber;
            inherits: z.ZodNumber;
        }, z.core.$strict>;
        target_to_source: z.ZodObject<{
            calls: z.ZodNumber;
            inherits: z.ZodNumber;
        }, z.core.$strict>;
        total: z.ZodNumber;
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
    seam_membership: z.ZodObject<{
        member: z.ZodBoolean;
        seam_keys: z.ZodArray<z.ZodString>;
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
    schema_version: z.ZodLiteral<2>;
}, z.core.$strict>, z.ZodObject<{
    coverage: z.ZodObject<{
        history: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        lineages: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        head_mapping: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        cochange: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        structure: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        incidence: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        seams: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>;
    type: z.ZodLiteral<"footer">;
    counts: z.ZodObject<{
        transitions: z.ZodNumber;
        transitions_skipped_as_broad: z.ZodNumber;
        nodes: z.ZodNumber;
        live_nodes: z.ZodNumber;
        historical_nodes: z.ZodNumber;
        unknown_nodes: z.ZodNumber;
        edges: z.ZodNumber;
        seams: z.ZodNumber;
        cochange_edges: z.ZodNumber;
        incidence_edges: z.ZodNumber;
        structure_files: z.ZodNumber;
        declarations_resolved: z.ZodNumber;
        facts_resolved: z.ZodNumber;
        facts_unresolved: z.ZodNumber;
        diagnostics: z.ZodNumber;
    }, z.core.$strict>;
    complete: z.ZodBoolean;
    schema_version: z.ZodLiteral<2>;
}, z.core.$strict>], "type">;
export type OccEntityGraphEventV2 = z.infer<typeof OccEntityGraphEventV2Schema>;
export interface OccEntityGraphOptions {
    repoPath: string;
    ref: string;
    bounds?: EntityBounds;
    formats?: boolean;
    maxNodes?: number;
    maxEdges?: number;
    maxSeams?: number;
    maxEntitiesPerTransition?: number;
    maxStructureFiles?: number;
    signal?: AbortSignal;
}
/**
 * Stream a bounded entity graph at one immutable Git pin.
 *
 * Co-change is learned from every parent-child edge. Static incidence is only
 * joined when the body-free pinned declaration and both endpoint lineages are
 * unique; historical endpoints deliberately remain unavailable.
 */
export declare function exportEntityGraph(input: OccEntityGraphOptions): AsyncGenerator<OccEntityGraphEventV2>;
export declare const OccEntityGraphRunV1Schema: z.ZodObject<{
    header: z.ZodObject<{
        schema_version: z.ZodLiteral<1>;
        type: z.ZodLiteral<"header">;
        requested_ref: z.ZodString;
        resolved_ref: z.ZodString;
        object_format: z.ZodEnum<{
            sha1: "sha1";
            sha256: "sha256";
        }>;
        shallow: z.ZodBoolean;
        lineage_run_id: z.ZodString;
        formats: z.ZodBoolean;
        entity_bounds: z.ZodObject<{
            max_commits: z.ZodNumber;
            max_files_per_commit: z.ZodNumber;
            max_blob_bytes: z.ZodNumber;
            max_blob_lines: z.ZodNumber;
            max_total_blob_bytes: z.ZodNumber;
            max_batch_bytes: z.ZodNumber;
            max_entities_per_file: z.ZodNumber;
            max_entities_total: z.ZodNumber;
            max_live_entities: z.ZodNumber;
            max_lineage_events: z.ZodNumber;
            max_cross_file_candidates: z.ZodNumber;
            max_similarity_candidates: z.ZodNumber;
        }, z.core.$strict>;
        bounds: z.ZodObject<{
            max_commits: z.ZodNumber;
            max_nodes: z.ZodNumber;
            max_edges: z.ZodNumber;
            max_seams: z.ZodNumber;
            max_entities_per_transition: z.ZodNumber;
            max_structure_files: z.ZodNumber;
        }, z.core.$strict>;
        provenance: z.ZodObject<{
            instrument: z.ZodLiteral<"occ.code.entity-graph">;
            instrument_version: z.ZodLiteral<1>;
            occ_version: z.ZodString;
            node_version: z.ZodString;
        }, z.core.$strict>;
        policy: z.ZodObject<{
            topology: z.ZodLiteral<"all-parent-edges">;
            node_basis: z.ZodLiteral<"all-observed-lineages">;
            edge_basis: z.ZodLiteral<"unified-undirected-entity-pairs">;
            cochange_basis: z.ZodLiteral<"logic-entity-presence-per-parent-edge">;
            cochange_denominator: z.ZodLiteral<"parent-child-edges">;
            structure_basis: z.ZodLiteral<"pinned-git-blob-structure">;
            structure_kinds: z.ZodTuple<[z.ZodLiteral<"imports">, z.ZodLiteral<"calls">, z.ZodLiteral<"inherits">], null>;
            seam_basis: z.ZodLiteral<"pinned-import-call-module-pairs">;
            historical_structure: z.ZodLiteral<"unavailable">;
            source_bodies: z.ZodLiteral<"omitted">;
            native_identity: z.ZodLiteral<"git-oid-path-span-digest">;
            lineage_identity: z.ZodLiteral<"derived-run-scoped-correlation">;
            checkout_node_ids: z.ZodLiteral<"omitted">;
        }, z.core.$strict>;
    }, z.core.$strict>;
    diagnostics: z.ZodArray<z.ZodObject<{
        schema_version: z.ZodLiteral<1>;
        type: z.ZodLiteral<"diagnostic">;
        severity: z.ZodEnum<{
            error: "error";
            warning: "warning";
        }>;
        code: z.ZodString;
        message: z.ZodString;
        parent_ref: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        child_ref: z.ZodOptional<z.ZodString>;
        path: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>>;
    nodes: z.ZodArray<z.ZodObject<{
        schema_version: z.ZodLiteral<1>;
        type: z.ZodLiteral<"node">;
        lineage_id: z.ZodString;
        entity_lineage_id: z.ZodNullable<z.ZodString>;
        state: z.ZodEnum<{
            unknown: "unknown";
            live: "live";
            historical: "historical";
        }>;
        coordinate: z.ZodNullable<z.ZodObject<{
            oid: z.ZodString;
            path: z.ZodString;
            span: z.ZodObject<{
                start_line: z.ZodNumber;
                end_line: z.ZodNumber;
                exact: z.ZodBoolean;
            }, z.core.$strict>;
            span_digest: z.ZodString;
        }, z.core.$strict>>;
        module: z.ZodNullable<z.ZodString>;
        declaration: z.ZodNullable<z.ZodObject<{
            kind: z.ZodString;
            name: z.ZodString;
            qualified_name: z.ZodString;
            is_exported: z.ZodBoolean;
        }, z.core.$strict>>;
        observations: z.ZodObject<{
            transitions: z.ZodNumber;
            logic_transitions: z.ZodNumber;
            coordinates: z.ZodNumber;
            first_ref: z.ZodString;
            last_ref: z.ZodString;
        }, z.core.$strict>;
        structure: z.ZodObject<{
            coverage: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
            basis: z.ZodEnum<{
                "coordinate-unavailable": "coordinate-unavailable";
                "pinned-git-blob-structure": "pinned-git-blob-structure";
                "historical-unavailable": "historical-unavailable";
            }>;
            reason: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>;
    }, z.core.$strict>>;
    seams: z.ZodArray<z.ZodObject<{
        schema_version: z.ZodLiteral<1>;
        type: z.ZodLiteral<"seam">;
        seam_key: z.ZodString;
        module_a: z.ZodString;
        module_b: z.ZodString;
        import_count: z.ZodNumber;
        call_count: z.ZodNumber;
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
    }, z.core.$strict>>;
    edges: z.ZodArray<z.ZodObject<{
        schema_version: z.ZodLiteral<1>;
        type: z.ZodLiteral<"edge">;
        source_lineage_id: z.ZodString;
        target_lineage_id: z.ZodString;
        cochange: z.ZodObject<{
            count: z.ZodNumber;
            source_change_count: z.ZodNumber;
            target_change_count: z.ZodNumber;
            lift: z.ZodNullable<z.ZodNumber>;
            denominator: z.ZodNumber;
            last_ref: z.ZodNullable<z.ZodString>;
            coverage: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
        }, z.core.$strict>;
        incidence: z.ZodObject<{
            source_to_target: z.ZodObject<{
                calls: z.ZodNumber;
                inherits: z.ZodNumber;
            }, z.core.$strict>;
            target_to_source: z.ZodObject<{
                calls: z.ZodNumber;
                inherits: z.ZodNumber;
            }, z.core.$strict>;
            total: z.ZodNumber;
            coverage: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
        }, z.core.$strict>;
        seam_membership: z.ZodObject<{
            member: z.ZodBoolean;
            seam_keys: z.ZodArray<z.ZodString>;
            coverage: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
        }, z.core.$strict>;
    }, z.core.$strict>>;
    footer: z.ZodObject<{
        schema_version: z.ZodLiteral<1>;
        type: z.ZodLiteral<"footer">;
        complete: z.ZodBoolean;
        coverage: z.ZodObject<{
            history: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
            lineages: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
            head_mapping: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
            cochange: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
            structure: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
            incidence: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
            seams: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
        }, z.core.$strict>;
        counts: z.ZodObject<{
            transitions: z.ZodNumber;
            transitions_skipped_as_broad: z.ZodNumber;
            nodes: z.ZodNumber;
            live_nodes: z.ZodNumber;
            historical_nodes: z.ZodNumber;
            unknown_nodes: z.ZodNumber;
            edges: z.ZodNumber;
            seams: z.ZodNumber;
            cochange_edges: z.ZodNumber;
            incidence_edges: z.ZodNumber;
            structure_files: z.ZodNumber;
            declarations_resolved: z.ZodNumber;
            facts_resolved: z.ZodNumber;
            facts_unresolved: z.ZodNumber;
            diagnostics: z.ZodNumber;
        }, z.core.$strict>;
    }, z.core.$strict>;
}, z.core.$strict>;
export type OccEntityGraphRunV1 = z.infer<typeof OccEntityGraphRunV1Schema>;
export declare const OccEntityGraphRunV2Schema: z.ZodObject<{
    header: z.ZodObject<{
        type: z.ZodLiteral<"header">;
        shallow: z.ZodBoolean;
        requested_ref: z.ZodString;
        resolved_ref: z.ZodString;
        object_format: z.ZodEnum<{
            sha1: "sha1";
            sha256: "sha256";
        }>;
        formats: z.ZodBoolean;
        bounds: z.ZodObject<{
            max_commits: z.ZodNumber;
            max_nodes: z.ZodNumber;
            max_edges: z.ZodNumber;
            max_seams: z.ZodNumber;
            max_entities_per_transition: z.ZodNumber;
            max_structure_files: z.ZodNumber;
        }, z.core.$strict>;
        lineage_run_id: z.ZodString;
        entity_bounds: z.ZodObject<{
            max_commits: z.ZodNumber;
            max_files_per_commit: z.ZodNumber;
            max_blob_bytes: z.ZodNumber;
            max_blob_lines: z.ZodNumber;
            max_total_blob_bytes: z.ZodNumber;
            max_batch_bytes: z.ZodNumber;
            max_entities_per_file: z.ZodNumber;
            max_entities_total: z.ZodNumber;
            max_live_entities: z.ZodNumber;
            max_lineage_events: z.ZodNumber;
            max_cross_file_candidates: z.ZodNumber;
            max_similarity_candidates: z.ZodNumber;
        }, z.core.$strict>;
        schema_version: z.ZodLiteral<2>;
        provenance: z.ZodObject<{
            instrument: z.ZodLiteral<"occ.code.entity-graph">;
            occ_version: z.ZodString;
            node_version: z.ZodString;
            instrument_version: z.ZodLiteral<2>;
        }, z.core.$strict>;
        policy: z.ZodObject<{
            topology: z.ZodLiteral<"all-parent-edges">;
            node_basis: z.ZodLiteral<"all-observed-lineages">;
            edge_basis: z.ZodLiteral<"unified-undirected-entity-pairs">;
            cochange_basis: z.ZodLiteral<"logic-entity-presence-per-parent-edge">;
            cochange_denominator: z.ZodLiteral<"parent-child-edges">;
            structure_basis: z.ZodLiteral<"pinned-git-blob-structure">;
            structure_kinds: z.ZodTuple<[z.ZodLiteral<"imports">, z.ZodLiteral<"calls">, z.ZodLiteral<"inherits">], null>;
            seam_basis: z.ZodLiteral<"pinned-import-call-module-pairs">;
            historical_structure: z.ZodLiteral<"unavailable">;
            source_bodies: z.ZodLiteral<"omitted">;
            native_identity: z.ZodLiteral<"git-oid-path-span-digest">;
            lineage_identity: z.ZodLiteral<"derived-run-scoped-correlation">;
            checkout_node_ids: z.ZodLiteral<"omitted">;
            atoms_contract: z.ZodLiteral<"occ.atoms@2">;
            blob_structure_contract: z.ZodLiteral<"occ.git-blob-structure@2">;
        }, z.core.$strict>;
    }, z.core.$strict>;
    diagnostics: z.ZodArray<z.ZodObject<{
        message: z.ZodString;
        path: z.ZodOptional<z.ZodString>;
        code: z.ZodString;
        type: z.ZodLiteral<"diagnostic">;
        severity: z.ZodEnum<{
            error: "error";
            warning: "warning";
        }>;
        parent_ref: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        child_ref: z.ZodOptional<z.ZodString>;
        schema_version: z.ZodLiteral<2>;
    }, z.core.$strict>>;
    nodes: z.ZodArray<z.ZodObject<{
        type: z.ZodLiteral<"node">;
        structure: z.ZodObject<{
            coverage: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
            basis: z.ZodEnum<{
                "coordinate-unavailable": "coordinate-unavailable";
                "pinned-git-blob-structure": "pinned-git-blob-structure";
                "historical-unavailable": "historical-unavailable";
            }>;
            reason: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>;
        module: z.ZodNullable<z.ZodString>;
        declaration: z.ZodNullable<z.ZodObject<{
            kind: z.ZodString;
            name: z.ZodString;
            qualified_name: z.ZodString;
            is_exported: z.ZodBoolean;
        }, z.core.$strict>>;
        coordinate: z.ZodNullable<z.ZodObject<{
            oid: z.ZodString;
            path: z.ZodString;
            span: z.ZodObject<{
                start_line: z.ZodNumber;
                end_line: z.ZodNumber;
                exact: z.ZodBoolean;
            }, z.core.$strict>;
            span_digest: z.ZodString;
        }, z.core.$strict>>;
        state: z.ZodEnum<{
            unknown: "unknown";
            live: "live";
            historical: "historical";
        }>;
        lineage_id: z.ZodString;
        entity_lineage_id: z.ZodNullable<z.ZodString>;
        observations: z.ZodObject<{
            transitions: z.ZodNumber;
            logic_transitions: z.ZodNumber;
            coordinates: z.ZodNumber;
            first_ref: z.ZodString;
            last_ref: z.ZodString;
        }, z.core.$strict>;
        schema_version: z.ZodLiteral<2>;
    }, z.core.$strict>>;
    seams: z.ZodArray<z.ZodObject<{
        coverage: z.ZodEnum<{
            partial: "partial";
            unavailable: "unavailable";
            complete: "complete";
        }>;
        type: z.ZodLiteral<"seam">;
        module_a: z.ZodString;
        module_b: z.ZodString;
        seam_key: z.ZodString;
        import_count: z.ZodNumber;
        call_count: z.ZodNumber;
        schema_version: z.ZodLiteral<2>;
    }, z.core.$strict>>;
    edges: z.ZodArray<z.ZodObject<{
        type: z.ZodLiteral<"edge">;
        cochange: z.ZodObject<{
            count: z.ZodNumber;
            source_change_count: z.ZodNumber;
            target_change_count: z.ZodNumber;
            lift: z.ZodNullable<z.ZodNumber>;
            denominator: z.ZodNumber;
            last_ref: z.ZodNullable<z.ZodString>;
            coverage: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
        }, z.core.$strict>;
        source_lineage_id: z.ZodString;
        target_lineage_id: z.ZodString;
        incidence: z.ZodObject<{
            source_to_target: z.ZodObject<{
                calls: z.ZodNumber;
                inherits: z.ZodNumber;
            }, z.core.$strict>;
            target_to_source: z.ZodObject<{
                calls: z.ZodNumber;
                inherits: z.ZodNumber;
            }, z.core.$strict>;
            total: z.ZodNumber;
            coverage: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
        }, z.core.$strict>;
        seam_membership: z.ZodObject<{
            member: z.ZodBoolean;
            seam_keys: z.ZodArray<z.ZodString>;
            coverage: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
        }, z.core.$strict>;
        schema_version: z.ZodLiteral<2>;
    }, z.core.$strict>>;
    footer: z.ZodObject<{
        coverage: z.ZodObject<{
            history: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
            lineages: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
            head_mapping: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
            cochange: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
            structure: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
            incidence: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
            seams: z.ZodEnum<{
                partial: "partial";
                unavailable: "unavailable";
                complete: "complete";
            }>;
        }, z.core.$strict>;
        type: z.ZodLiteral<"footer">;
        counts: z.ZodObject<{
            transitions: z.ZodNumber;
            transitions_skipped_as_broad: z.ZodNumber;
            nodes: z.ZodNumber;
            live_nodes: z.ZodNumber;
            historical_nodes: z.ZodNumber;
            unknown_nodes: z.ZodNumber;
            edges: z.ZodNumber;
            seams: z.ZodNumber;
            cochange_edges: z.ZodNumber;
            incidence_edges: z.ZodNumber;
            structure_files: z.ZodNumber;
            declarations_resolved: z.ZodNumber;
            facts_resolved: z.ZodNumber;
            facts_unresolved: z.ZodNumber;
            diagnostics: z.ZodNumber;
        }, z.core.$strict>;
        complete: z.ZodBoolean;
        schema_version: z.ZodLiteral<2>;
    }, z.core.$strict>;
}, z.core.$strict>;
export type OccEntityGraphRunV2 = z.infer<typeof OccEntityGraphRunV2Schema>;
/** Consume through EOF and cross-check a whole entity-graph stream. */
export declare function collectEntityGraphV1(events: AsyncIterable<unknown> | Iterable<unknown>): Promise<OccEntityGraphRunV1>;
/** Consume through EOF and cross-check the V2 graph stream emitted by this build. */
export declare function collectEntityGraph(events: AsyncIterable<unknown> | Iterable<unknown>): Promise<OccEntityGraphRunV2>;
