/**
 * TtdMergeInspection — read-only protocol object for TTD merge panels.
 *
 * @module domain/services/merge/TtdMergeInspection
 */
import MergeClassification from './MergeClassification.ts';
import TtdMergeBranch from './TtdMergeBranch.ts';
import TtdMergeFootprint from './TtdMergeFootprint.ts';
import { type TtdMergeInspectionDomain } from './TtdMergeInspectionDomain.ts';
import TtdMergeLoweringWitness from './TtdMergeLoweringWitness.ts';
import TtdMergeObstructionWitness from './TtdMergeObstructionWitness.ts';
import TtdMergePolicyRequirement from './TtdMergePolicyRequirement.ts';
export declare const TTD_MERGE_INSPECTION_PROTOCOL_VERSION = "ttd-merge-inspection/v1";
export type TtdMergeInspectionFields = {
    readonly domain: TtdMergeInspectionDomain;
    readonly sharedPrecursor: Record<string, string>;
    readonly branches: readonly TtdMergeBranch[];
    readonly footprints: readonly TtdMergeFootprint[];
    readonly overlapKeys: readonly string[];
    readonly candidateCanonicalJoin: Record<string, string> | null;
    readonly obstructionWitnesses: readonly TtdMergeObstructionWitness[];
    readonly loweringWitnesses: readonly TtdMergeLoweringWitness[];
    readonly policyRequirements: readonly TtdMergePolicyRequirement[];
    readonly classification: MergeClassification;
};
export default class TtdMergeInspection {
    readonly protocolVersion = "ttd-merge-inspection/v1";
    readonly domain: TtdMergeInspectionDomain;
    readonly sharedPrecursor: Readonly<Record<string, string>>;
    readonly branches: readonly TtdMergeBranch[];
    readonly footprints: readonly TtdMergeFootprint[];
    readonly overlapKeys: readonly string[];
    readonly candidateCanonicalJoin: Readonly<Record<string, string>> | null;
    readonly obstructionWitnesses: readonly TtdMergeObstructionWitness[];
    readonly loweringWitnesses: readonly TtdMergeLoweringWitness[];
    readonly policyRequirements: readonly TtdMergePolicyRequirement[];
    readonly classification: MergeClassification;
    constructor(fields: TtdMergeInspectionFields);
}
