/**
 * ComparisonController — substrate-visible coordinate and strand comparison.
 *
 * Thin facade that delegates to ComparisonEngine functions.
 * The controller is bound to a WarpRuntime host instance.
 *
 * @module domain/services/controllers/ComparisonController
 */
import type { CoordinateComparison, CoordinateTransferPlan } from '../../types/CoordinateComparison.ts';
import type { CompareStrandOptions, PlanStrandTransferOptions, CompareCoordinatesOptions, GraphDiffOptions, PlanCoordinateTransferOptions } from '../../capabilities/ComparisonCapability.ts';
import type GraphDiff from '../comparison/GraphDiff.ts';
import type { ComparisonHost, ComparisonSelectorContext, PatchEntry } from './ComparisonSelector.ts';
import { type VisiblePatchDivergence } from './ComparisonEngine.ts';
export type ComparisonControllerDeps = {
    readonly host: ComparisonHost;
    readonly selectorContext: ComparisonSelectorContext;
};
export default class ComparisonController {
    private readonly _host;
    private readonly _selectorContext;
    constructor(deps: ComparisonControllerDeps);
    buildPatchDivergence(leftEntries: PatchEntry[], rightEntries: PatchEntry[], targetId?: string | null): VisiblePatchDivergence;
    compareStrand(strandId: string, options?: CompareStrandOptions): Promise<CoordinateComparison>;
    planStrandTransfer(strandId: string, options?: PlanStrandTransferOptions): Promise<CoordinateTransferPlan>;
    planCoordinateTransfer(options: PlanCoordinateTransferOptions): Promise<CoordinateTransferPlan>;
    compareCoordinates(options: CompareCoordinatesOptions): Promise<CoordinateComparison>;
    diff(options: GraphDiffOptions): Promise<GraphDiff>;
}
