import { type DoctorMemoryRepairExecutionRequest, type DoctorMemoryRepairExecutionResponse } from "./repair-execution-request-contract.js";
import { type DoctorMemoryRepairFsPathState, type DoctorMemoryRepairFsSafetyDecision } from "./repair-executor-fs-safety-contract.js";
import { type DoctorMemoryRepairExecutionLockAdmissionDecision, type DoctorMemoryRepairExecutionLockAdmissionInput } from "./repair-executor-lock-contract.js";
import { type DoctorMemoryRepairExecutionResultDecision, type DoctorMemoryRepairExecutionResultInput, type DoctorMemoryRepairExecutionResultStep } from "./repair-executor-result-contract.js";
export declare const DOCTOR_MEMORY_REPAIR_PREFLIGHT_PIPELINE_ORDER: readonly ["request", "policy", "audit-plan", "lock", "fs-safety", "result"];
export type DoctorMemoryRepairPreflightPipelineStage = (typeof DOCTOR_MEMORY_REPAIR_PREFLIGHT_PIPELINE_ORDER)[number];
export type DoctorMemoryRepairPreflightPipelineInput = {
    request: DoctorMemoryRepairExecutionRequest;
    lock: Omit<DoctorMemoryRepairExecutionLockAdmissionInput, "response">;
    fsSafety: {
        pathStates: DoctorMemoryRepairFsPathState[];
    };
    result: {
        finishedAt: string;
        steps: DoctorMemoryRepairExecutionResultStep[];
        rollback?: DoctorMemoryRepairExecutionResultInput["rollback"];
    };
};
export type DoctorMemoryRepairPreflightPipelineDecision = {
    schemaVersion: 1;
    kind: "doctor.memory.repair.preflight.pipeline";
    dryRun: true;
    noWritePerformed: true;
    contractOnly: true;
    order: typeof DOCTOR_MEMORY_REPAIR_PREFLIGHT_PIPELINE_ORDER;
    ok: boolean;
    status: "admitted" | "denied";
    stage: DoctorMemoryRepairPreflightPipelineStage;
    response: DoctorMemoryRepairExecutionResponse;
    lock?: DoctorMemoryRepairExecutionLockAdmissionDecision;
    fsSafety?: DoctorMemoryRepairFsSafetyDecision;
    result?: DoctorMemoryRepairExecutionResultDecision;
    reasons: string[];
};
export declare function evaluateMemoryRepairPreflightPipeline(input: DoctorMemoryRepairPreflightPipelineInput): DoctorMemoryRepairPreflightPipelineDecision;
