import type { DoctorMemoryRepairExecutionResponse, DoctorMemoryRepairExecutionResponseStage } from "./repair-execution-request-contract.js";
export type DoctorMemoryRepairDashboardSeverity = "success" | "warning" | "danger" | "neutral";
export type DoctorMemoryRepairDashboardBadge = {
    label: string;
    tone: DoctorMemoryRepairDashboardSeverity;
};
export type DoctorMemoryRepairDashboardProposalRow = {
    id: string;
    action: string;
    status: "allowed" | "blocked";
    tone: DoctorMemoryRepairDashboardSeverity;
    targetLabel?: string;
    reasons: string[];
};
export type DoctorMemoryRepairDashboardAuditRow = {
    proposalId: string;
    action: string;
    targetLabel: string;
    snapshotLabel: string;
};
export type DoctorMemoryRepairDashboardPreviewAction = {
    id: "memory-repair-execute";
    label: "Execute repair";
    enabled: boolean;
    disabledReason?: string;
};
export type DoctorMemoryRepairDashboardPreview = {
    kind: "doctor.memory.repair.execution.dashboard-preview";
    status: DoctorMemoryRepairExecutionResponse["status"];
    stage: DoctorMemoryRepairExecutionResponseStage;
    title: string;
    summary: string;
    severity: DoctorMemoryRepairDashboardSeverity;
    badges: DoctorMemoryRepairDashboardBadge[];
    request: {
        agentId: string;
        executionId: string;
        createdAt: string;
        previewFingerprint: string;
        selectedProposalIds: string[];
        noWritePerformed: true;
    };
    reasons: string[];
    proposals: DoctorMemoryRepairDashboardProposalRow[];
    auditPlan?: {
        fingerprint?: string;
        backupRequired: boolean;
        auditRequired: boolean;
        rollbackMode: string;
        backupManifestLabel: string;
        auditRecordLabel: string;
        rows: DoctorMemoryRepairDashboardAuditRow[];
    };
    actions: DoctorMemoryRepairDashboardPreviewAction[];
    boundary: {
        dryRunOnly: true;
        noExecutorRegistered: boolean;
        noGatewayHandler: boolean;
        noDashboardAction: boolean;
        noWritePerformed: true;
        transcriptAccess: "none";
        bodyAccess: "none";
    };
};
export declare function createMemoryRepairDashboardPreview(response: DoctorMemoryRepairExecutionResponse): DoctorMemoryRepairDashboardPreview;
