import { ResolveIOAIManagerHotfixContinuationDecision, ResolveIOAIManagerHotfixDurabilityContract, ResolveIOAIManagerHotfixFirstReleasePolicy, ResolveIOAIManagerEvidenceStrength, ResolveIOAIManagerAutonomyPolicyDecision, ResolveIOAIManagerAutonomyPolicyInput, ResolveIOAIManagerRecoveryCheckpoint, ResolveIOAIManagerRecoveryActionPacket, ResolveIOAIManagerRecoveryActionDispatchRecord, ResolveIOAIManagerRecoveryExecutionDirective, ResolveIOAIManagerRecoveryEvidenceProbe, ResolveIOAIManagerRecoveryPlan } from './ai-runner-manager-policy';
export type ResolveIOSupportV5StepType = 'diagnosis_gate' | 'reproduction_probe' | 'issue_class_probe' | 'business_proof' | 'compile_check' | 'startup_check' | 'live_seed' | 'auth_bootstrap' | 'route_probe' | 'qa_row' | 'build_repair' | 'qa_retest' | 'pr_review' | 'artifact_package' | 'cleanup';
export type ResolveIOSupportV5Outcome = 'pass' | 'needs_repair' | 'retry_same_step' | 'park_manual' | 'budget_stop' | 'infra_retry' | 'ready_for_merge';
export type ResolveIOSupportV5Lane = 'build' | 'qa' | 'review' | 'supervisor';
export type ResolveIOSupportIssueClass = 'no_op_submit' | 'missing_wrong_data' | 'filter_query_mismatch' | 'invoice_pdf_export' | 'upload_import' | 'route_auth_hydration' | 'slow_query_performance';
export type ResolveIOSupportDiagnosisGateStatus = 'missing' | 'incomplete' | 'blocked' | 'passed';
export type ResolveIOSupportV5FailureClass = 'diagnosis' | 'infra' | 'compile' | 'route' | 'business' | 'product_code' | 'qa_evidence' | 'release' | 'unknown';
export interface ResolveIOSupportDiagnosisIssueCase {
    customer_complaint: string;
    expected_result: string;
    observed_result: string;
    route_module: string;
    account_customer_context: string;
    reproduction_status: 'reproduced' | 'blocked' | 'classified';
    reproduction_blocker?: string;
}
export interface ResolveIOSupportDiagnosisHypothesis {
    statement: string;
    falsifiable_test: string;
    evidence: string[];
}
export interface ResolveIOSupportDiagnosisFailingPath {
    frontend?: string;
    backend?: string;
    shared_library?: string;
    data_query?: string;
    description: string;
}
export interface ResolveIOSupportDiagnosisBusinessProofContract {
    issue_class: ResolveIOSupportIssueClass;
    setup_state: string;
    action_under_test: string;
    expected_business_state_change: string;
    prohibited_false_pass: string;
    proof_artifacts: string[];
    data_or_dom_assertion: string;
}
export interface ResolveIOSupportDiagnosisProofPlan {
    before: string;
    before_state_unavailable_reason?: string;
    action: string;
    after: string;
    business_assertion: string;
    route?: string;
    data_assertion?: string;
    artifact_expectation?: string;
    business_proof_contract?: ResolveIOSupportDiagnosisBusinessProofContract;
}
export interface ResolveIOSupportDiagnosisHint {
    id?: string;
    ticketNumber?: string;
    title?: string;
    outcome?: string;
    issueClass?: string;
    ownerFiles?: string[];
    commitSha?: string;
    commitMessage?: string;
    reason?: string;
}
export type ResolveIOSupportSimilarCaseSource = 'airun' | 'support_ticket' | 'git_commit' | 'manual';
export interface ResolveIOSupportSimilarCaseCandidate extends ResolveIOSupportDiagnosisHint {
    source: ResolveIOSupportSimilarCaseSource;
    summary?: string;
    keywords?: string[];
    updatedAt?: string;
    metadata?: Record<string, any>;
}
export interface ResolveIOSupportSimilarCaseRankedHint extends ResolveIOSupportDiagnosisHint {
    source: ResolveIOSupportSimilarCaseSource;
    score: number;
    structuredSignals: string[];
    advisoryOnly: true;
}
export interface ResolveIOSupportSimilarCaseSelectionInput {
    issueClass?: ResolveIOSupportIssueClass | string;
    ownerFiles?: any;
    text?: any;
    candidates?: any[];
    limit?: number;
    now?: Date | string;
}
export interface ResolveIOSupportSimilarCaseSelection {
    ranked: ResolveIOSupportSimilarCaseRankedHint[];
    similarTickets: ResolveIOSupportSimilarCaseRankedHint[];
    similarCommits: ResolveIOSupportSimilarCaseRankedHint[];
    ignoredCount: number;
    generatedAt: string;
}
export type ResolveIOSupportDiagnosisEvidencePackStatus = 'needs_diagnosis' | 'diagnosis_ready' | 'blocked';
export interface ResolveIOSupportIssueClassProbeCatalogEntry {
    issue_class: ResolveIOSupportIssueClass;
    probe_type: ResolveIOSupportV5StepType;
    failure_class: ResolveIOSupportV5FailureClass;
    action: string;
    proof_required: string;
    required_artifacts: string[];
    acceptance_gate: 'aiqa_business_assertion';
    false_pass_blockers: string[];
}
export interface ResolveIOSupportDiagnosisEvidencePack {
    packId: string;
    status: ResolveIOSupportDiagnosisEvidencePackStatus;
    readOnly: true;
    sourceEditsAllowed: false;
    rootCauseFirstRequired: true;
    requiredOutputKey: 'support_diagnosis_gate';
    requiredFields: string[];
    requiredEvidence: string[];
    forbiddenActions: string[];
    diagnosisValid: boolean;
    diagnosisStatus: ResolveIOSupportDiagnosisGateStatus;
    validationBlockers: string[];
    issueClassHint?: ResolveIOSupportIssueClass;
    ownerFileHints: string[];
    activeMicrotaskId?: string;
    similarCaseSelection: ResolveIOSupportSimilarCaseSelection;
    issueClassProbeCatalog: ResolveIOSupportIssueClassProbeCatalogEntry[];
    proofMatrix?: ResolveIOSupportDiagnosisProofMatrix;
    structuredFacts: Record<string, any>;
    generatedAt: string;
}
export interface ResolveIOSupportDiagnosisEvidencePackInput {
    bundle?: ResolveIOSupportV5StateBundle;
    diagnosisGate?: any;
    similarCaseHints?: any;
    issueClass?: ResolveIOSupportIssueClass | string;
    ownerFiles?: any;
    text?: any;
    ticketContext?: Record<string, any>;
    now?: Date | string;
}
export interface ResolveIOSupportDiagnosisEvidence {
    id?: string;
    type: 'ticket' | 'browser' | 'mongo' | 'log' | 'code' | 'commit' | 'qa' | 'other';
    summary: string;
    artifactPath?: string;
    ownerFiles?: string[];
    evidenceRefs?: string[];
}
export interface ResolveIOSupportDiagnosisGate {
    issue_case: ResolveIOSupportDiagnosisIssueCase;
    issue_class: ResolveIOSupportIssueClass;
    accepted_hypothesis: ResolveIOSupportDiagnosisHypothesis;
    rejected_alternatives: string[];
    failing_path: ResolveIOSupportDiagnosisFailingPath;
    owner_files: string[];
    proof_plan: ResolveIOSupportDiagnosisProofPlan;
    similar_tickets?: ResolveIOSupportDiagnosisHint[];
    similar_commits?: ResolveIOSupportDiagnosisHint[];
    evidence: ResolveIOSupportDiagnosisEvidence[];
    status: ResolveIOSupportDiagnosisGateStatus;
    updatedAt?: string;
}
export interface ResolveIOSupportDiagnosisGateValidation {
    valid: boolean;
    status: ResolveIOSupportDiagnosisGateStatus;
    blockers: string[];
    normalized?: ResolveIOSupportDiagnosisGate;
    evidenceQuality?: ResolveIOSupportDiagnosisEvidenceQuality;
    proofMatrix?: ResolveIOSupportDiagnosisProofMatrix;
}
export interface ResolveIOSupportDiagnosisEvidenceQuality {
    valid: boolean;
    blockers: string[];
    evidenceTypes: ResolveIOSupportDiagnosisEvidence['type'][];
    reproductionEvidenceTypes: ResolveIOSupportDiagnosisEvidence['type'][];
    rootCauseEvidenceTypes: ResolveIOSupportDiagnosisEvidence['type'][];
    artifactBackedEvidenceCount: number;
    routeOnlyReproductionEvidenceCount: number;
    businessReproductionEvidenceCount: number;
    hasTicketContext: boolean;
    hasRootCauseEvidence: boolean;
    hasReproductionEvidence: boolean;
}
export interface ResolveIOSupportDiagnosisProofMatrixEvidenceRef {
    evidenceId: string;
    type: ResolveIOSupportDiagnosisEvidence['type'];
    summary: string;
    artifactPath?: string;
    ownerFiles: string[];
}
export interface ResolveIOSupportDiagnosisProofMatrixOwnerFile {
    ownerFile: string;
    covered: boolean;
    evidenceIds: string[];
    failingPathFields: string[];
}
export interface ResolveIOSupportDiagnosisProofMatrix {
    matrixId: string;
    status: 'ready' | 'incomplete';
    issueClass?: ResolveIOSupportIssueClass;
    ownerFiles: string[];
    reproductionEvidence: ResolveIOSupportDiagnosisProofMatrixEvidenceRef[];
    rootCauseEvidence: ResolveIOSupportDiagnosisProofMatrixEvidenceRef[];
    ownerFileCoverage: ResolveIOSupportDiagnosisProofMatrixOwnerFile[];
    businessProofArtifacts: string[];
    proofPlanChecks: {
        beforeActionAfter: boolean;
        businessAssertion: boolean;
        businessProofContract: boolean;
        dataOrDomAssertion: boolean;
    };
    blockers: string[];
    generatedAt: string;
}
export type ResolveIOSupportCustomerReplyAction = 'draft_resolution_reply' | 'ask_clarification' | 'hold_internal';
export type ResolveIOSupportHumanReviewType = 'diagnosis_gate' | 'owner_scoped_repair' | 'business_proof_qa' | 'release_hotfix' | 'customer_resolution_reply' | 'customer_clarification' | 'new_evidence' | 'internal_hold';
export interface ResolveIOSupportHumanReviewPacket {
    reviewType: ResolveIOSupportHumanReviewType;
    title: string;
    summary: string;
    primaryAction: string;
    question?: string;
    customerFacingDraftAllowed: boolean;
    customerSendAllowed: boolean;
    requiresHumanApproval: boolean;
    safety: 'safe_to_draft' | 'needs_clarification' | 'internal_hold';
    reason: string;
    blockers: string[];
    requiredEvidence: string[];
    evidenceRefs: string[];
    nextCommands: string[];
    forbiddenActions: string[];
    costRisk: 'free_or_deterministic' | 'small_model_or_qa' | 'expensive_model' | 'release_or_customer_send';
    createdAt: string;
}
export interface ResolveIOSupportHumanDecisionChoice {
    choiceId: string;
    label: string;
    action: string;
    description: string;
    safety: 'low' | 'medium' | 'high';
    requiresConfirmation: boolean;
    nextCommand: string;
    expectedResult: string;
    allowedWithoutCodexMonitor: boolean;
}
export interface ResolveIOSupportHumanDecisionRequest {
    requestId: string;
    required: boolean;
    status: 'not_required' | 'waiting_for_operator' | 'auto_dispatch_allowed';
    reason: string;
    question: string;
    preferredChoiceId: string;
    evidence: {
        failureClass: string;
        blocker: string;
        blockerFingerprint: string;
        evidenceHash: string;
        sameFailureCount: number;
        pingPongCount: number;
        evidenceStrength: ResolveIOAIManagerEvidenceStrength;
        requiredResetEvidence: string[];
        recentArtifactPaths: string[];
        changedFiles: string[];
        nextActionContractId: string;
    };
    choices: ResolveIOSupportHumanDecisionChoice[];
    blockedUntil: string[];
    autoDispatchAllowed: boolean;
    createdAt: string;
}
export interface ResolveIOSupportCustomerReplyPolicyInput {
    diagnosisGate?: any;
    issueClassProbePlan?: any;
    outcomeLabel?: string;
    confidence?: any;
    businessAssertionStatus?: string;
    businessAssertions?: any[];
    businessProofArtifacts?: any[];
    previousProofFingerprint?: string;
    previousArtifactFingerprint?: string;
    unresolvedBlockers?: any[];
    releaseStatus?: string;
    releaseEvidence?: any;
    hotfixEvidence?: any;
    releasePolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;
    releaseGatePassed?: boolean;
}
export type ResolveIOSupportClarificationMissingField = 'reproduction_blocker' | 'expected_result' | 'observed_result' | 'account_customer_context' | 'example_record_or_action_path';
export interface ResolveIOSupportClarificationContract {
    contractId: string;
    status: 'ready' | 'blocked';
    missingField: ResolveIOSupportClarificationMissingField;
    question: string;
    sourceBlockers: string[];
    oneQuestionOnly: boolean;
    customerFacingDraftAllowed: boolean;
    customerSendAllowed: boolean;
    parksTicketUntilCustomerReply: boolean;
    nextCommands: string[];
    forbiddenActions: string[];
    requiredEvidence: string[];
    createdAt: string;
}
export type ResolveIOSupportCustomerReplyReadinessStatus = 'draft_ready' | 'clarification_required' | 'blocked_until_diagnosis' | 'blocked_until_probe_plan' | 'blocked_until_confidence' | 'blocked_until_runner_blocker' | 'blocked_until_release_hotfix' | 'blocked_until_business_proof' | 'blocked_until_business_proof_artifact' | 'blocked_until_human_approval' | 'internal_blocked';
export interface ResolveIOSupportCustomerReplyReadinessContract {
    contractId: string;
    status: ResolveIOSupportCustomerReplyReadinessStatus;
    policyAction: ResolveIOSupportCustomerReplyAction;
    reviewType: ResolveIOSupportHumanReviewType;
    primaryCommand: string;
    canDraftCustomerReply: boolean;
    canSendCustomerReply: boolean;
    requiresHumanApproval: boolean;
    proofBacked: boolean;
    businessProofReady: boolean;
    releaseReady: boolean;
    diagnosisReady: boolean;
    issueClassProbePlanReady: boolean;
    clarificationRequired: boolean;
    reason: string;
    blockers: string[];
    requiredEvidence: string[];
    evidenceRefs: string[];
    nextCommands: string[];
    forbiddenActions: string[];
    createdAt: string;
}
export interface ResolveIOSupportCustomerReplyReadinessContractInput {
    policy: ResolveIOSupportCustomerReplyPolicy;
    diagnosisValidation?: ResolveIOSupportDiagnosisGateValidation;
    issueClassProbePlanValidation?: ResolveIOSupportIssueClassProbePlanValidation;
    businessProofReadiness?: ResolveIOSupportBusinessProofReadiness;
    releaseGate?: {
        blocked?: boolean;
        status?: string;
        blockers?: string[];
        requiredEvidence?: string[];
        nextCommands?: string[];
    };
    now?: Date | string;
}
export interface ResolveIOSupportCustomerReplyPolicy {
    action: ResolveIOSupportCustomerReplyAction;
    canDraftCustomerReply: boolean;
    canSendCustomerReply: boolean;
    confidenceLevel: 'high' | 'medium' | 'low' | 'unknown';
    safety: 'safe_to_draft' | 'needs_clarification' | 'internal_hold';
    reason: string;
    requiredEvidence: string[];
    clarificationQuestion?: string;
    clarificationContract?: ResolveIOSupportClarificationContract;
    humanReviewPacket?: ResolveIOSupportHumanReviewPacket;
    draftBasis?: {
        issueClass: ResolveIOSupportIssueClass;
        issueClassProbePlanId?: string;
        issueClassProbePlanStatus?: ResolveIOSupportIssueClassProbePlanStatus;
        businessProof: string;
        artifactCount: number;
    };
    readinessContract?: ResolveIOSupportCustomerReplyReadinessContract;
}
export interface ResolveIOSupportIssueClassProbe {
    issue_class: ResolveIOSupportIssueClass;
    probe_type: ResolveIOSupportV5StepType;
    failure_class: ResolveIOSupportV5FailureClass;
    objective: string;
    route?: string;
    action: string;
    browser_steps: string[];
    expected_evidence: string;
    expected_business_proof: string;
    data_proof_requirements: string[];
    required_artifacts: string[];
    qa_rows: ResolveIOSupportIssueClassProbeQaRow[];
    active_qa_row?: ResolveIOSupportIssueClassProbeQaRow;
    aiqa_business_assertion_template: ResolveIOSupportIssueClassProbeAssertionTemplate;
    state_transition: {
        before: string;
        action: string;
        after: string;
        assertion: string;
    };
    acceptance_gate: 'aiqa_business_assertion';
    blocks_acceptance_without_business_assertion: boolean;
    false_pass_blockers?: string[];
}
export interface ResolveIOSupportIssueClassProbeQaRow {
    row_id: string;
    issue_class: ResolveIOSupportIssueClass;
    probe_type: ResolveIOSupportV5StepType;
    route?: string;
    action_under_test: string;
    browser_steps: string[];
    expected_result: string;
    expected_dom_or_data_proof: string;
    required_artifacts: string[];
    false_pass_blockers: string[];
    state_transition: {
        before: string;
        action: string;
        after: string;
        assertion: string;
    };
    acceptance_gate: 'aiqa_business_assertion';
    requires_aiqa_business_assertion: true;
    route_only_is_false_pass: true;
    mobile_viewport_required: boolean;
}
export interface ResolveIOSupportIssueClassProbeAssertionTemplate {
    assertion: string;
    status: 'pending';
    workflow: string;
    route?: string;
    before: string;
    action: string;
    expected: string;
    observed: string;
    dataProof: string;
    artifactPaths: string[];
    metadata: {
        supportDiagnosisProof: true;
        issueClass: ResolveIOSupportIssueClass;
        probePlanRequired: true;
        routeOnlyIsFalsePass: true;
    };
}
export type ResolveIOSupportIssueClassProbePlanStatus = 'missing' | 'incomplete' | 'ready';
export interface ResolveIOSupportIssueClassProbePlan {
    planId: string;
    status: ResolveIOSupportIssueClassProbePlanStatus;
    issue_class?: ResolveIOSupportIssueClass;
    diagnosisValid: boolean;
    probes: ResolveIOSupportIssueClassProbe[];
    activeProbe?: ResolveIOSupportIssueClassProbe;
    qaRows: ResolveIOSupportIssueClassProbeQaRow[];
    activeQaRow?: ResolveIOSupportIssueClassProbeQaRow;
    requiredArtifacts: string[];
    acceptanceGate: 'aiqa_business_assertion';
    falsePassBlockers: string[];
    blockers: string[];
    generatedAt: string;
}
export interface ResolveIOSupportIssueClassProbePlanValidation {
    valid: boolean;
    status: ResolveIOSupportIssueClassProbePlanStatus;
    blockers: string[];
    normalized?: ResolveIOSupportIssueClassProbePlan;
    activeProbe?: ResolveIOSupportIssueClassProbe;
}
export interface ResolveIOSupportBusinessProofAssertion {
    assertion: string;
    status: string;
    workflow?: string;
    route?: string;
    before?: string;
    action?: string;
    expected?: string;
    after?: string;
    observed?: string;
    dataProof?: string;
    mongoDelta?: Record<string, any>;
    artifactPaths: string[];
    message?: string;
    acceptanceBlocked?: boolean;
    routeOnly?: boolean;
    metadata?: Record<string, any>;
}
export interface ResolveIOSupportBusinessProofReadinessInput {
    diagnosisGate?: any;
    outcomeLabel?: string;
    businessAssertionStatus?: string;
    businessAssertions?: any[];
    businessProofArtifacts?: any[];
    previousProofFingerprint?: string;
    previousArtifactFingerprint?: string;
}
export interface ResolveIOSupportBusinessProofReadiness {
    ready: boolean;
    status: 'missing' | 'route_only' | 'failed' | 'blocked' | 'weak' | 'stale' | 'passed';
    reason: string;
    blockers: string[];
    requiredEvidence: string[];
    artifactPaths: string[];
    proofFingerprint: string;
    artifactFingerprint: string;
    proofFreshness: 'missing' | 'fresh' | 'same_as_previous' | 'stale_artifact' | 'unknown';
    matchedAssertion?: ResolveIOSupportBusinessProofAssertion;
}
export interface ResolveIOSupportV5RepeatStopInput {
    history: ResolveIOSupportV5StepRecord[];
    failureClass?: ResolveIOSupportV5FailureClass | string;
    blocker?: string;
    evidence?: any;
    evidenceHash?: string;
    changedFiles?: any;
    artifactPaths?: any;
    limit?: number;
    ignoreInfra?: boolean;
}
export interface ResolveIOSupportV5RepeatStopDecision {
    shouldStop: boolean;
    repeatedCount: number;
    failureClass: string;
    blockerFingerprint: string;
    evidenceHash: string;
    newEvidence?: boolean;
    materialEvidence?: boolean;
    evidenceStrength?: ResolveIOAIManagerEvidenceStrength;
    evidenceSignals?: string[];
    reason: string;
}
export type ResolveIOSupportEvidenceFreshnessStatus = 'missing' | 'fresh' | 'retry_below_limit' | 'material_evidence' | 'weak_evidence' | 'stale_repeated' | 'ping_pong' | 'infra_ignored';
export interface ResolveIOSupportEvidenceFreshness {
    status: ResolveIOSupportEvidenceFreshnessStatus;
    failureClass: string;
    blockerFingerprint: string;
    evidenceHash: string;
    sameFailureCount: number;
    pingPongCount: number;
    newEvidence: boolean;
    materialEvidence: boolean;
    evidenceStrength: ResolveIOAIManagerEvidenceStrength;
    evidenceSignals: string[];
    loopBudgetShouldReset: boolean;
    canRetry: boolean;
    mustCollectNewEvidence: boolean;
    productRepairFailure: boolean;
    reason: string;
    requiredResetEvidence: string[];
    changedFiles: string[];
    artifactPaths: string[];
}
export type ResolveIOSupportEvidenceProbeContractStatus = 'ready' | 'blocked';
export type ResolveIOSupportEvidenceProbeContractType = 'issue_class_probe' | 'business_proof' | 'preflight' | 'release' | 'manual';
export interface ResolveIOSupportEvidenceProbeContract {
    contractId: string;
    status: ResolveIOSupportEvidenceProbeContractStatus;
    probeType: ResolveIOSupportEvidenceProbeContractType;
    evidenceOnly: true;
    productRepairAllowed: false;
    canRunWithoutCodexMonitor: boolean;
    issueClass?: ResolveIOSupportIssueClass;
    planId?: string;
    activeRoute?: string;
    actionUnderTest?: string;
    expectedBusinessProof?: string;
    stateTransition?: ResolveIOSupportIssueClassProbe['state_transition'];
    startingFailureClass: string;
    startingBlockerFingerprint: string;
    startingEvidenceHash: string;
    sameFailureCount: number;
    pingPongCount: number;
    requiredNewSignals: string[];
    requiredArtifacts: string[];
    acceptableEvidence: string[];
    blockers: string[];
    forbiddenActions: string[];
    nextCommands: string[];
    createdAt: string;
}
export interface ResolveIOSupportEvidenceProbeContractValidation {
    valid: boolean;
    status: ResolveIOSupportEvidenceProbeContractStatus;
    blockers: string[];
    normalized?: ResolveIOSupportEvidenceProbeContract;
}
export type ResolveIOSupportPreflightCheckName = 'puppeteer_module' | 'chrome_executable' | 'chrome_launch' | 'node_version' | 'npm_install' | 'settings_file' | 'mongo_connection' | 'server_startup' | 'client_startup' | 'port_availability' | 'compile' | 'cache_state' | 'seed_data' | 'unknown';
export type ResolveIOSupportPreflightCheckStatus = 'pass' | 'fail' | 'blocked' | 'warn' | 'unknown';
export interface ResolveIOSupportPreflightCheck {
    name: ResolveIOSupportPreflightCheckName;
    status: ResolveIOSupportPreflightCheckStatus;
    summary: string;
    failureClass: 'infra' | 'compile' | 'unknown';
    command?: string;
    durationMs?: number;
    artifactPaths: string[];
    evidence: string[];
    recordedAt: string;
}
export type ResolveIOSupportPreflightGateStatus = 'passed' | 'missing' | 'infra_failed' | 'compile_failed' | 'blocked' | 'unknown';
export type ResolveIOSupportPreflightNextCommand = 'continue_to_diagnosis' | 'run_support_v5_preflight' | 'run_support_v5_infra_repair' | 'run_support_v5_compile_repair';
export interface ResolveIOSupportPreflightGateInput {
    required?: boolean;
    status?: ResolveIOSupportPreflightGateStatus | string;
    ready?: boolean;
    checks?: any[];
    infraChecks?: any[];
    compileResult?: any;
    startupChecks?: any[];
    blockers?: any;
    requiredEvidence?: any;
    artifactPaths?: any;
    evidenceHash?: string;
    recordedAt?: Date | string;
}
export interface ResolveIOSupportPreflightGate {
    ready: boolean;
    required: boolean;
    status: ResolveIOSupportPreflightGateStatus;
    failureClass: 'infra' | 'compile' | 'unknown';
    checks: ResolveIOSupportPreflightCheck[];
    failedChecks: ResolveIOSupportPreflightCheck[];
    blockers: string[];
    requiredEvidence: string[];
    artifactPaths: string[];
    nextCommand: ResolveIOSupportPreflightNextCommand;
    blocksProductRepair: boolean;
    blocksModelRepair: boolean;
    evidenceHash: string;
    recordedAt: string;
}
export type ResolveIOSupportV5RepairGateAction = 'diagnose_only' | 'infra_repair_only' | 'allow_product_repair' | 'reject_out_of_scope' | 'park_repeated_failure';
export interface ResolveIOSupportV5RepairGateInput {
    diagnosisGate?: any;
    preflightGate?: ResolveIOSupportPreflightGateInput | ResolveIOSupportPreflightGate;
    activeStepType?: ResolveIOSupportV5StepType | string;
    changedFiles?: any;
    artifactPaths?: any;
    failureClass?: ResolveIOSupportV5FailureClass | string;
    blocker?: string;
    evidence?: any;
    evidenceHash?: string;
    history?: ResolveIOSupportV5StepRecord[];
    maxOwnerFiles?: number;
    maxRepeatedNoProgress?: number;
    allowTestsOutsideOwnerFiles?: boolean;
}
export interface ResolveIOSupportV5RepairGateDecision {
    action: ResolveIOSupportV5RepairGateAction;
    canEditProductCode: boolean;
    blockers: string[];
    ownerFiles: string[];
    issueClass?: ResolveIOSupportIssueClass;
    proofPlan?: ResolveIOSupportDiagnosisProofPlan;
    ownerScopedRepairContract: ResolveIOSupportOwnerScopedRepairContract;
    outsideOwnerFiles: string[];
    preflightGate: ResolveIOSupportPreflightGate;
    repeatedFailure?: ResolveIOSupportV5RepeatStopDecision;
    diagnosisValidation: ResolveIOSupportDiagnosisGateValidation;
    recoveryPlan: ResolveIOAIManagerRecoveryPlan;
    recoveryCheckpoint: ResolveIOAIManagerRecoveryCheckpoint;
    recoveryEvidenceProbe: ResolveIOAIManagerRecoveryEvidenceProbe;
    recoveryAction: ResolveIOAIManagerRecoveryActionPacket;
}
export interface ResolveIOSupportOwnerScopedRepairPatchUnit {
    ownerFile: string;
    coverageEvidenceIds: string[];
    failingPathFields: string[];
    repairPurpose: string;
    requiredLocalChecks: string[];
}
export interface ResolveIOSupportOwnerScopedRepairContract {
    contractId: string;
    status: 'ready' | 'blocked';
    sourceEditsAllowed: boolean;
    canRunWithoutCodexMonitor: boolean;
    issueClass?: ResolveIOSupportIssueClass;
    ownerFiles: string[];
    proofMatrixId: string;
    changedFiles: string[];
    outsideOwnerFiles: string[];
    patchUnits: ResolveIOSupportOwnerScopedRepairPatchUnit[];
    requiredEvidenceBeforeRepair: string[];
    requiredEvidenceAfterRepair: string[];
    nextCommands: string[];
    forbiddenActions: string[];
    blockers: string[];
    createdAt: string;
}
export type ResolveIOSupportV5MicrotaskStatus = 'pending' | 'in_progress' | 'pass' | 'needs_repair' | 'blocked' | 'parked';
export type ResolveIOSupportV5MicrotaskType = ResolveIOSupportV5StepType | 'planning' | 'scope_slice' | 'product_repair' | 'runner_repair';
export interface ResolveIOSupportV5PromptBudget {
    initialPlannerCap: number;
    buildMicrotaskCap: number;
    buildMicrotaskHardCap: number;
    qaMicrotaskCap: number;
    qaMicrotaskHardCap: number;
    repairMicrotaskCap: number;
    repairMicrotaskHardCap: number;
}
export interface ResolveIOSupportV5Microtask {
    microtaskId: string;
    lane: ResolveIOSupportV5Lane;
    type: ResolveIOSupportV5MicrotaskType;
    status: ResolveIOSupportV5MicrotaskStatus;
    objective: string;
    targetFiles: string[];
    contextRefs: string[];
    selfGate: string;
    acceptanceProof: string;
    threadKey: string;
    promptTokenEstimate?: number;
    attempts: number;
    dependsOn: string[];
    parentScopeId?: string;
    blocker?: string;
    createdAt: string;
    updatedAt: string;
}
export interface ResolveIOSupportV5UsageSection {
    name: string;
    tokenEstimate: number;
}
export interface ResolveIOSupportV5MicrotaskUsage {
    microtaskId: string;
    lane: ResolveIOSupportV5Lane;
    model?: string;
    threadKey?: string;
    reuseThread: boolean;
    freshReason?: string;
    promptTokenEstimate: number;
    promptSections: ResolveIOSupportV5UsageSection[];
    actualInputTokens?: number;
    actualCachedInputTokens?: number;
    actualOutputTokens?: number;
    durationMs?: number;
    outcome?: ResolveIOSupportV5Outcome | ResolveIOSupportV5MicrotaskStatus;
    recordedAt: string;
}
export interface ResolveIOSupportV5Budget {
    maxPromptTokensPerNonInitialStep: number;
    maxLoopsPerTicket: number;
    maxRepeatedNoProgress: number;
    maxRuntimeMinutesPerLoop: number;
    totalPromptTokenEstimate: number;
    totalRuntimeMs: number;
    loopCount: number;
}
export interface ResolveIOSupportV5LaneMemory {
    lane: ResolveIOSupportV5Lane;
    model: string;
    threadKey: string;
    scopeSummary: string;
    activeBlocker: string;
    activeQaRow?: {
        index?: number;
        workflow?: string;
        route?: string;
        assertion?: string;
        status?: string;
    };
    changedFiles: string[];
    artifactPaths: string[];
    latestPromptTokenEstimate?: number;
    updatedAt: string;
}
export interface ResolveIOSupportV5FailureFingerprint {
    stepType: ResolveIOSupportV5StepType;
    failureClass: string;
    blockerFingerprint: string;
    evidenceHash: string;
    recordedAt: string;
}
export interface ResolveIOSupportV5SupervisorState {
    version: 'v5';
    status: 'active' | 'parked' | 'complete';
    currentGoal: string;
    approvedScope: string;
    prBranch: string;
    activeStep: ResolveIOSupportV5StepType;
    activeBlocker: string;
    lastGoodCheckpoint: string;
    currentQaRow?: ResolveIOSupportV5LaneMemory['activeQaRow'];
    processLease?: {
        runId?: string;
        token?: string;
        generation?: number;
        workspace?: string;
        lane?: string;
    };
    artifactLinks: string[];
    noEmailUnlessApproved: boolean;
    updatedAt: string;
}
export interface ResolveIOSupportV5StepRecord {
    microtaskId?: string;
    stepType: ResolveIOSupportV5StepType;
    outcome: ResolveIOSupportV5Outcome;
    lane: ResolveIOSupportV5Lane;
    model?: string;
    threadKey?: string;
    promptTokenEstimate?: number;
    runtimeMs?: number;
    summary: string;
    blocker?: string;
    changedFiles?: string[];
    artifactPaths?: string[];
    diagnosisGate?: ResolveIOSupportDiagnosisGate;
    preflightGate?: ResolveIOSupportPreflightGate;
    failureClass?: ResolveIOSupportV5FailureClass | string;
    blockerFingerprint?: string;
    evidenceHash?: string;
    recordedAt: string;
}
export interface ResolveIOSupportV5RunnerIncident {
    incidentClass: string;
    summary: string;
    stepType?: ResolveIOSupportV5StepType;
    blockerFingerprint?: string;
    artifactPaths?: string[];
    recordedAt: string;
}
export interface ResolveIOSupportV5StateBundle {
    supportWorkflowVersion: 'v5';
    supportV5SupervisorState: ResolveIOSupportV5SupervisorState;
    supportV5DiagnosisGate?: ResolveIOSupportDiagnosisGate;
    supportV5DiagnosisEvidencePack?: ResolveIOSupportDiagnosisEvidencePack;
    supportV5IssueClassProbePlan?: ResolveIOSupportIssueClassProbePlan;
    supportV5PreflightGate?: ResolveIOSupportPreflightGate;
    supportV5LaneMemory: {
        build: ResolveIOSupportV5LaneMemory;
        qa: ResolveIOSupportV5LaneMemory;
    };
    supportV5StepHistory: ResolveIOSupportV5StepRecord[];
    supportV5Budget: ResolveIOSupportV5Budget;
    supportV5RunnerIncidents: ResolveIOSupportV5RunnerIncident[];
    supportV5MicrotaskLedger: ResolveIOSupportV5Microtask[];
    supportV5ActiveMicrotaskId?: string;
    supportV5ScopeDigest?: string;
    supportV5MicrotaskUsageHistory: ResolveIOSupportV5MicrotaskUsage[];
    supportV5FailureFingerprints?: ResolveIOSupportV5FailureFingerprint[];
    supportV5RecoveryPlan?: ResolveIOAIManagerRecoveryPlan;
    supportV5RecoveryCheckpoint?: ResolveIOAIManagerRecoveryCheckpoint;
    supportV5RecoveryEvidenceProbe?: ResolveIOAIManagerRecoveryEvidenceProbe;
    supportV5RecoveryAction?: ResolveIOAIManagerRecoveryActionPacket;
    supportV5RecoveryDispatchHistory?: ResolveIOAIManagerRecoveryActionDispatchRecord[];
    supportV5RecoveryDirective?: ResolveIOAIManagerRecoveryExecutionDirective;
}
export interface ResolveIOSupportV5InitializeInput {
    jobId: string;
    ticketId?: string;
    ticketNumber?: string;
    title?: string;
    description?: string;
    approvedScopeRequirements?: string[];
    approvedScopeHours?: number | null;
    prBranch?: string;
    buildThreadKey?: string;
    qaThreadKey?: string;
    processLease?: ResolveIOSupportV5SupervisorState['processLease'];
    now?: Date | string;
    existing?: Partial<ResolveIOSupportV5StateBundle>;
}
export interface ResolveIOSupportV5StepInput {
    microtaskId?: string;
    stepType: ResolveIOSupportV5StepType;
    outcome: ResolveIOSupportV5Outcome;
    lane: ResolveIOSupportV5Lane;
    model?: string;
    threadKey?: string;
    promptTokenEstimate?: number;
    runtimeMs?: number;
    summary?: string;
    blocker?: string;
    changedFiles?: string[];
    artifactPaths?: string[];
    diagnosisGate?: ResolveIOSupportDiagnosisGate;
    preflightGate?: ResolveIOSupportPreflightGateInput | ResolveIOSupportPreflightGate;
    failureClass?: ResolveIOSupportV5FailureClass | string;
    evidenceHash?: string;
    activeQaRow?: ResolveIOSupportV5LaneMemory['activeQaRow'];
    now?: Date | string;
}
export interface ResolveIOSupportV5ContinuationDecision {
    action: 'continue' | 'park';
    reason: string;
    nextStep: ResolveIOSupportV5StepType;
    repeatedNoProgressCount: number;
    budgetExceeded: boolean;
    recoveryPlan: ResolveIOAIManagerRecoveryPlan;
    recoveryCheckpoint: ResolveIOAIManagerRecoveryCheckpoint;
    recoveryEvidenceProbe: ResolveIOAIManagerRecoveryEvidenceProbe;
    recoveryAction: ResolveIOAIManagerRecoveryActionPacket;
}
export type ResolveIOSupportV5AutonomousNextAction = 'run_diagnosis_gate' | 'ask_customer_clarification' | 'repair_infra_only' | 'revise_diagnosis_scope' | 'run_owner_scoped_repair' | 'run_business_proof_qa' | 'create_pr' | 'run_a_grade_pr_review' | 'repair_release_hotfix_first' | 'collect_new_evidence' | 'draft_customer_reply' | 'ready_for_release_gate' | 'park_manual';
export type ResolveIOSupportContinuationProofCheckpointStatus = 'waiting_for_state_transition' | 'waiting_for_proof' | 'waiting_for_new_evidence' | 'ready_to_continue';
export interface ResolveIOSupportContinuationProofCheckpoint {
    required: boolean;
    status: ResolveIOSupportContinuationProofCheckpointStatus;
    action: ResolveIOSupportV5AutonomousNextAction;
    reason: string;
    startingFailureClass: string;
    startingBlockerFingerprint: string;
    startingEvidenceHash: string;
    requiredEvidence: string[];
    requiredResetEvidence: string[];
    successRequiresNewEvidence: boolean;
    blocksProductRepairUntilChangedEvidence: boolean;
    nextAction: string;
}
export type ResolveIOSupportRootCauseReadinessStatus = 'diagnosis_required' | 'customer_clarification_required' | 'infra_repair_only' | 'scope_revision_required' | 'owner_scoped_repair_ready' | 'business_proof_required' | 'pr_packaging_ready' | 'pr_review_required' | 'release_hotfix_required' | 'release_gate_ready' | 'customer_reply_draft_ready' | 'collect_new_evidence' | 'parked';
export interface ResolveIOSupportRootCauseReadiness {
    status: ResolveIOSupportRootCauseReadinessStatus;
    nextGate: 'diagnosis' | 'infra' | 'scope' | 'repair' | 'business_proof' | 'release' | 'customer_reply' | 'evidence' | 'manual';
    nextCommand: string;
    rootCauseFirstSatisfied: boolean;
    diagnosisValid: boolean;
    ownerFilesReady: boolean;
    proofPlanReady: boolean;
    proofMatrixReady: boolean;
    ownerScopedRepairContractReady: boolean;
    businessProofReady: boolean;
    infraOnly: boolean;
    sameFailureParked: boolean;
    canEditProductCode: boolean;
    canRunIssueClassProbe: boolean;
    canRunBusinessProofQa: boolean;
    canRelease: boolean;
    canDraftCustomerReply: boolean;
    requiresHumanDecision: boolean;
    issueClassProbePlanReady: boolean;
    preflightReady: boolean;
    preflightStatus: ResolveIOSupportPreflightGateStatus;
    preflightFailureClass: 'infra' | 'compile' | 'unknown';
    reason: string;
    blockers: string[];
    ownerFiles: string[];
    issueClass?: ResolveIOSupportIssueClass;
    expectedProof?: string;
    proofMatrix?: ResolveIOSupportDiagnosisProofMatrix;
    ownerScopedRepairContract?: ResolveIOSupportOwnerScopedRepairContract;
    issueClassProbes?: ResolveIOSupportIssueClassProbe[];
    issueClassProbePlan?: ResolveIOSupportIssueClassProbePlan;
    businessProofStatus?: ResolveIOSupportBusinessProofReadiness['status'];
    proofFingerprint?: string;
    artifactFingerprint?: string;
    proofFreshness?: ResolveIOSupportBusinessProofReadiness['proofFreshness'];
    preflightGate?: ResolveIOSupportPreflightGate;
}
export type ResolveIOSupportNextActionCostRisk = 'free_or_deterministic' | 'small_model_or_qa' | 'expensive_model' | 'release_or_customer_send' | 'manual_blocked';
export interface ResolveIOSupportNextActionContract {
    contractId: string;
    action: ResolveIOSupportV5AutonomousNextAction;
    label: string;
    primaryCommand: string;
    lane: ResolveIOSupportV5Lane | 'release' | 'customer' | 'supervisor';
    stepType: ResolveIOSupportV5StepType | 'release_gate' | 'customer_reply';
    safeToAutoRun: boolean;
    requiresHumanApproval: boolean;
    canRunWithoutCodexMonitor: boolean;
    codexFallbackRequired: boolean;
    codexFallbackReason: string;
    costRisk: ResolveIOSupportNextActionCostRisk;
    rootCauseFirstSatisfied: boolean;
    decisionBasis: {
        diagnosisValid: boolean;
        ownerFilesReady: boolean;
        proofPlanReady: boolean;
        proofMatrixReady: boolean;
        proofMatrixId?: string;
        ownerScopedRepairContractReady: boolean;
        ownerScopedRepairContractId?: string;
        businessProofReady: boolean;
        evidenceFreshnessStatus: ResolveIOSupportEvidenceFreshnessStatus;
        evidenceStrength: ResolveIOAIManagerEvidenceStrength;
        failureClass: string;
        blockerFingerprint: string;
        evidenceHash: string;
        sameFailureCount: number;
        issueClassProbePlanReady: boolean;
        preflightReady: boolean;
        preflightStatus: ResolveIOSupportPreflightGateStatus;
        preflightFailureClass: 'infra' | 'compile' | 'unknown';
        preflightEvidenceHash: string;
        hotfixCommitRequired: boolean;
        liveHotfixBlockedUntilCommit: boolean;
        evidenceProbeContractReady?: boolean;
        evidenceProbeContractId?: string;
        autonomyMode?: ResolveIOAIManagerAutonomyPolicyDecision['mode'];
        autonomyCanAutoDispatch?: boolean;
        autonomyReason?: string;
        autonomyExpectedValueScore?: number;
        autonomyExpectedValuePositive?: boolean;
        autonomyProjectedSpendUsd?: number;
        autonomyApprovalRequired?: boolean;
        autonomyApprovalApproved?: boolean;
        autonomyApprovalBoundaryValid?: boolean;
        autonomyApprovalDecisionKind?: string;
        autonomyApprovalAction?: string;
        approvedScopeHours?: number;
        maxAutoHoursWithoutApproval?: number;
        overMaxAutoHours?: boolean;
        bugNotBug?: string;
        bugNotBugClassificationApproved?: boolean;
        scopeFingerprint?: string;
        scopeChangedSinceApproval?: boolean;
        ownerFileFingerprint?: string;
        approvedOwnerFileFingerprint?: string;
        ownerFilesChangedSinceApproval?: boolean;
        ownerFilesAddedSinceApproval?: string[];
        ownerFilesRemovedSinceApproval?: string[];
        diagnosisScopeFingerprint?: string;
        previousDiagnosisScopeFingerprint?: string;
        diagnosisScopeIncluded?: boolean;
        diagnosisScopeValid?: boolean;
        diagnosisScopeChangedSinceApproval?: boolean;
        diagnosisScopeFields?: string[];
        diagnosisScopeBlockers?: string[];
        requiresOperatorApprovalForAnyScopeChange?: boolean;
        leSixHourScopeCanAutofixAfterApproval?: boolean;
        onTheFlyScopeChangeApprovalRequired?: boolean;
        afterApprovalAutopilotUntilAGrade?: boolean;
        autopilotCompletionStatus?: string;
        autopilotCompletionPhase?: string;
        autopilotCompletionNextAction?: string;
        autopilotCompletionReady?: boolean;
    };
    preconditions: string[];
    expectedStateTransition: string;
    successEvidence: string[];
    stopConditions: string[];
    forbiddenActions: string[];
    ownerFiles: string[];
    blockers: string[];
    nextCommands: string[];
    createdAt: string;
}
export type ResolveIOSupportNextActionContractValidationStatus = 'ready' | 'manual_required' | 'blocked';
export interface ResolveIOSupportNextActionContractValidation {
    valid: boolean;
    status: ResolveIOSupportNextActionContractValidationStatus;
    blockers: string[];
    warnings: string[];
    normalized?: ResolveIOSupportNextActionContract;
}
export type ResolveIOSupportManagerExecutionPacketStatus = 'auto_ready' | 'manual_required' | 'blocked';
export type ResolveIOSupportManagerExecutionRetryScope = 'none' | 'diagnosis_only' | 'infra_only' | 'owner_files_only' | 'business_proof_only' | 'pr_packaging_only' | 'pr_review_only' | 'release_hotfix_only' | 'customer_draft_only' | 'evidence_only';
export interface ResolveIOSupportProofResetContract {
    contractId: string;
    status: 'ready' | 'manual_required' | 'blocked';
    action: ResolveIOSupportV5AutonomousNextAction;
    retryScope: ResolveIOSupportManagerExecutionRetryScope;
    maxAttemptsBeforeFreshEvidence: number;
    startingFailureClass: string;
    startingBlockerFingerprint: string;
    startingEvidenceHash: string;
    requiredResetEvidence: string[];
    proofRequiredBeforeContinuation: string[];
    stopConditions: string[];
    canRunWithoutCodexMonitor: boolean;
    sourceNextActionContractId: string;
    createdAt: string;
}
export interface ResolveIOSupportManagerExecutionPacket {
    packetId: string;
    status: ResolveIOSupportManagerExecutionPacketStatus;
    action: ResolveIOSupportV5AutonomousNextAction;
    label: string;
    primaryCommand: string;
    lane: ResolveIOSupportV5Lane | 'release' | 'customer' | 'supervisor';
    stepType: ResolveIOSupportV5StepType | 'release_gate' | 'customer_reply';
    executeNow: boolean;
    canRunWithoutCodexMonitor: boolean;
    codexFallbackRequired: boolean;
    retryScope: ResolveIOSupportManagerExecutionRetryScope;
    maxAttemptsBeforeFreshEvidence: number;
    costRisk: ResolveIOSupportNextActionCostRisk;
    proofRequiredBeforeContinuation: string[];
    expectedStateTransition: string;
    stopConditions: string[];
    forbiddenActions: string[];
    ownerFiles: string[];
    nextCommands: string[];
    proofResetContract: ResolveIOSupportProofResetContract;
    blockers: string[];
    validation: ResolveIOSupportNextActionContractValidation;
    createdAt: string;
}
export interface ResolveIOSupportV5AutonomousDecisionInput {
    bundle: ResolveIOSupportV5StateBundle;
    changedFiles?: any;
    failureClass?: ResolveIOSupportV5FailureClass | string;
    blocker?: any;
    evidence?: any;
    evidenceHash?: string;
    outcomeLabel?: string;
    confidence?: any;
    businessAssertionStatus?: string;
    businessAssertions?: any[];
    businessProofArtifacts?: any[];
    artifactPaths?: any;
    previousProofFingerprint?: string;
    previousArtifactFingerprint?: string;
    unresolvedBlockers?: any[];
    releaseStatus?: string;
    hotfixEvidence?: any;
    releasePolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;
    releaseGatePassed?: boolean;
    prReadinessContract?: any;
    prReviewContract?: any;
    preflightGate?: ResolveIOSupportPreflightGateInput | ResolveIOSupportPreflightGate;
    autonomyApproval?: any;
    productRepairDispatchGuard?: any;
    requireAutonomyApprovalForProductRepair?: boolean;
    autonomyPolicy?: ResolveIOAIManagerAutonomyPolicyInput;
    operatorApproved?: boolean;
    maxOwnerFiles?: number;
    now?: Date | string;
}
export interface ResolveIOSupportAutonomyApprovalContract {
    contractId: string;
    status: 'approved_autopilot' | 'approval_required' | 'missing';
    approved: boolean;
    approvedAt?: string;
    approvedBy?: string;
    decisionKind: string;
    approvalAction: string;
    preferredChoiceId: string;
    canApproveFromConsole: boolean;
    estimatedHours?: number;
    estimatedHoursKnown: boolean;
    maxAutoHoursWithoutApproval: number;
    overMaxAutoHours: boolean;
    explicitOverLimitApproval: boolean;
    bugNotBug: string;
    bugNotBugKnown: boolean;
    bugNotBugClassificationApproved: boolean;
    requiresOverLimitApproval: boolean;
    requiresScopeReapproval: boolean;
    requiresOwnerFileReapproval: boolean;
    requiresIntakeReapproval: boolean;
    requiresDiagnosisScopeReapproval: boolean;
    requiresClassificationApproval: boolean;
    requiresEstimateHours: boolean;
    changeApprovalMode: string;
    afterApprovalAutopilotUntilAGrade: boolean;
    targetGrade: string;
    terminalTarget: string;
    qaScreenshotsRequired: boolean;
    beforeActionAfterBusinessProofRequired: boolean;
    aiqaBusinessAssertionRequired: boolean;
    ownerFiles: string[];
    approvedOwnerFiles: string[];
    currentOwnerFiles: string[];
    scopeFingerprint: string;
    previousScopeFingerprint: string;
    scopeChangedSinceApproval: boolean;
    ownerFileFingerprint: string;
    approvedOwnerFileFingerprint: string;
    ownerFilesChangedSinceApproval: boolean;
    ownerFilesAddedSinceApproval: string[];
    ownerFilesRemovedSinceApproval: string[];
    diagnosisScopeFingerprint: string;
    previousDiagnosisScopeFingerprint: string;
    diagnosisScopeIncluded: boolean;
    diagnosisScopeValid: boolean;
    diagnosisScopeChangedSinceApproval: boolean;
    diagnosisScopeFields: string[];
    diagnosisScopeBlockers: string[];
    requiresOperatorApprovalForAnyScopeChange: boolean;
    leSixHourScopeCanAutofixAfterApproval: boolean;
    onTheFlyScopeChangeApprovalRequired: boolean;
    requiredCompletionEvidence: string[];
    forbiddenWithoutReapproval: string[];
    allowedAutoActions: string[];
    blockers: string[];
    autopilotApprovalBoundaryValid: boolean;
}
export interface ResolveIOSupportProductRepairDispatchGuard {
    guard: 'support_autonomy_product_repair_dispatch_guard';
    status: 'allowed' | 'blocked';
    allowed: boolean;
    action: ResolveIOSupportV5AutonomousNextAction | string;
    editsProductCode: boolean;
    canEditProductCode: boolean;
    autoContinueAfterApproval: boolean;
    nextAction: string;
    reason: string;
    approvalContractId: string;
    continuationContractMode: string;
    terminalTarget: string;
    nextProofPhases: string[];
    allowedAutoActions: string[];
    forbiddenActions: string[];
    ownerFiles: string[];
    approvedOwnerFiles: string[];
    currentOwnerFiles: string[];
    scopeFingerprint: string;
    ownerFileFingerprint: string;
    approvedOwnerFileFingerprint: string;
    ownerFilesChangedSinceApproval: boolean;
    ownerFilesAddedSinceApproval: string[];
    ownerFilesRemovedSinceApproval: string[];
    requiresOverLimitApproval: boolean;
    requiresScopeReapproval: boolean;
    requiresOwnerFileReapproval: boolean;
    requiresDiagnosisScopeReapproval: boolean;
    requiredCompletionEvidence: string[];
    blockers: string[];
}
export type ResolveIOSupportAutopilotCompletionPhase = 'not_required' | 'approval_required' | 'diagnosis' | 'preflight' | 'repair' | 'business_proof' | 'pr_packaging' | 'pr_review' | 'park_before_merge_release_customer';
export type ResolveIOSupportAutopilotCompletionStatus = 'not_required' | 'blocked' | 'in_progress' | 'ready_for_pr' | 'complete';
export type ResolveIOSupportAutopilotCompletionNextAction = ResolveIOSupportV5AutonomousNextAction | 'approve_support_autonomy' | 'approve_support_autonomy_over_limit' | 'create_pr' | 'run_a_grade_pr_review' | 'park_before_merge_release_or_customer_send';
export interface ResolveIOSupportAutopilotCompletionProgress {
    contractId: string;
    mode: 'approved_scope_to_a_grade_pr';
    status: ResolveIOSupportAutopilotCompletionStatus;
    activePhase: ResolveIOSupportAutopilotCompletionPhase;
    nextAction: ResolveIOSupportAutopilotCompletionNextAction;
    nextCommand: string;
    reason: string;
    approved: boolean;
    approvalBoundaryValid: boolean;
    approvalContractId: string;
    targetGrade: string;
    terminalTarget: string;
    businessProofReady: boolean;
    hasScreenshotOrTrace: boolean;
    changedFilesReady: boolean;
    prReadinessReady: boolean;
    prReviewReady: boolean;
    prReviewStatus: string;
    prReviewContractId: string;
    prReviewStrictGatePassed: boolean;
    prReviewStrictGateReason: string;
    prReviewExecutionGrade: string;
    prReviewArtifactsGrade: string;
    prReviewPullRequestGrade: string;
    pullRequestUrl: string;
    pullRequestStatus: string;
    canContinueWithoutCodexMonitor: boolean;
    canAutoDispatchNext: boolean;
    requiresHumanApproval: boolean;
    completedEvidence: string[];
    missingEvidence: string[];
    requiredEvidence: string[];
    forbiddenActions: string[];
    blockers: string[];
    createdAt: string;
}
export interface ResolveIOSupportV5AutonomousDecision {
    action: ResolveIOSupportV5AutonomousNextAction;
    label: string;
    reason: string;
    canRunAutonomously: boolean;
    canEditProductCode: boolean;
    canRunModel: boolean;
    canRunQa: boolean;
    canPrepareHotfixPatch: boolean;
    canHotfixBackend: boolean;
    liveHotfixBlockedUntilCommit: boolean;
    canDraftCustomerReply: boolean;
    canSendCustomerReply: boolean;
    lane: ResolveIOSupportV5Lane | 'release' | 'customer' | 'supervisor';
    stepType: ResolveIOSupportV5StepType | 'release_gate' | 'customer_reply';
    microtaskId?: string;
    primaryCommand: string;
    nextCommands: string[];
    requiredEvidence: string[];
    forbiddenActions: string[];
    blockers: string[];
    ownerFiles: string[];
    issueClass?: ResolveIOSupportIssueClass;
    expectedProof?: string;
    issueClassProbes: ResolveIOSupportIssueClassProbe[];
    issueClassProbePlan?: ResolveIOSupportIssueClassProbePlan;
    issueClassProbePlanValidation: ResolveIOSupportIssueClassProbePlanValidation;
    activeMicrotask?: ResolveIOSupportV5Microtask;
    diagnosisValidation: ResolveIOSupportDiagnosisGateValidation;
    repairGate: ResolveIOSupportV5RepairGateDecision;
    continuation: ResolveIOSupportV5ContinuationDecision;
    customerReplyPolicy: ResolveIOSupportCustomerReplyPolicy;
    customerReplyReadiness: ResolveIOSupportCustomerReplyReadinessContract;
    businessProofReadiness: ResolveIOSupportBusinessProofReadiness;
    evidenceFreshness: ResolveIOSupportEvidenceFreshness;
    preflightGate: ResolveIOSupportPreflightGate;
    rootCauseReadiness: ResolveIOSupportRootCauseReadiness;
    continuationProofCheckpoint: ResolveIOSupportContinuationProofCheckpoint;
    nextActionContract: ResolveIOSupportNextActionContract;
    managerExecutionPacket: ResolveIOSupportManagerExecutionPacket;
    humanReviewPacket: ResolveIOSupportHumanReviewPacket;
    humanDecisionRequest?: ResolveIOSupportHumanDecisionRequest;
    evidenceProbeContract?: ResolveIOSupportEvidenceProbeContract;
    autonomyApproval?: ResolveIOSupportAutonomyApprovalContract;
    productRepairDispatchGuard?: ResolveIOSupportProductRepairDispatchGuard;
    autopilotCompletionProgress?: ResolveIOSupportAutopilotCompletionProgress;
    autonomyPolicy?: ResolveIOAIManagerAutonomyPolicyDecision;
    hotfixContinuation?: ResolveIOAIManagerHotfixContinuationDecision;
    hotfixDurabilityContract?: ResolveIOAIManagerHotfixDurabilityContract;
    recordedAt: string;
}
export declare function evaluateResolveIOSupportPreflightGate(input?: ResolveIOSupportPreflightGateInput | ResolveIOSupportPreflightGate | any, nowValue?: Date | string): ResolveIOSupportPreflightGate;
export declare function selectResolveIOSupportSimilarCaseHints(input?: ResolveIOSupportSimilarCaseSelectionInput): ResolveIOSupportSimilarCaseSelection;
export declare function buildResolveIOSupportDiagnosisEvidencePack(input?: ResolveIOSupportDiagnosisEvidencePackInput): ResolveIOSupportDiagnosisEvidencePack;
export declare function buildResolveIOSupportDiagnosisProofMatrix(value: any, now?: Date | string): ResolveIOSupportDiagnosisProofMatrix;
export declare function evaluateResolveIOSupportDiagnosisEvidenceQuality(value: any): ResolveIOSupportDiagnosisEvidenceQuality;
export declare function normalizeResolveIOSupportDiagnosisGate(value: any, now?: Date | string): ResolveIOSupportDiagnosisGate | undefined;
export declare function extractResolveIOSupportDiagnosisGateFromText(value: string, now?: Date | string): ResolveIOSupportDiagnosisGate | undefined;
export declare function validateResolveIOSupportDiagnosisGate(value: any, options?: {
    maxOwnerFiles?: number;
}): ResolveIOSupportDiagnosisGateValidation;
export declare function evaluateResolveIOSupportBusinessProofReadiness(input?: ResolveIOSupportBusinessProofReadinessInput): ResolveIOSupportBusinessProofReadiness;
export declare function buildResolveIOSupportClarificationContract(gate: ResolveIOSupportDiagnosisGate | undefined, blockers?: string[], now?: Date | string): ResolveIOSupportClarificationContract;
export declare function validateResolveIOSupportClarificationContract(value: any): {
    valid: boolean;
    status: 'ready' | 'blocked';
    blockers: string[];
    normalized: ResolveIOSupportClarificationContract;
};
export declare function buildResolveIOSupportCustomerReplyReadinessContract(input: ResolveIOSupportCustomerReplyReadinessContractInput): ResolveIOSupportCustomerReplyReadinessContract;
export declare function validateResolveIOSupportCustomerReplyReadinessContract(value: any): {
    valid: boolean;
    status: ResolveIOSupportCustomerReplyReadinessStatus | 'blocked';
    blockers: string[];
    normalized: ResolveIOSupportCustomerReplyReadinessContract;
};
export declare function decideResolveIOSupportCustomerReplyPolicy(input?: ResolveIOSupportCustomerReplyPolicyInput): ResolveIOSupportCustomerReplyPolicy;
export declare function buildResolveIOSupportIssueClassProbes(value: any): ResolveIOSupportIssueClassProbe[];
export declare function validateResolveIOSupportIssueClassProbePlan(value: any, diagnosisGate?: any, now?: Date | string): ResolveIOSupportIssueClassProbePlanValidation;
export declare function buildResolveIOSupportIssueClassProbePlan(diagnosisGate: any, now?: Date | string): ResolveIOSupportIssueClassProbePlan;
export declare function hashResolveIOSupportV5Evidence(value: any): string;
export declare function validateResolveIOSupportNextActionContract(value: any): ResolveIOSupportNextActionContractValidation;
export declare function buildResolveIOSupportManagerExecutionPacket(contract: ResolveIOSupportNextActionContract, now?: Date | string): ResolveIOSupportManagerExecutionPacket;
export declare function decideResolveIOSupportV5RepeatedFailureStop(input: ResolveIOSupportV5RepeatStopInput): ResolveIOSupportV5RepeatStopDecision;
export declare function evaluateResolveIOSupportEvidenceFreshness(input: {
    history?: ResolveIOSupportV5StepRecord[];
    failureClass?: ResolveIOSupportV5FailureClass | string;
    blocker?: any;
    evidence?: any;
    evidenceHash?: string;
    changedFiles?: any;
    artifactPaths?: any;
    lane?: ResolveIOSupportV5Lane | string;
    stepType?: ResolveIOSupportV5StepType | string;
    limit?: number;
    ignoreInfra?: boolean;
}): ResolveIOSupportEvidenceFreshness;
export declare function validateResolveIOSupportEvidenceProbeContract(value: any): ResolveIOSupportEvidenceProbeContractValidation;
export declare function buildResolveIOSupportEvidenceProbeContract(input: {
    diagnosisGate?: any;
    issueClassProbePlan?: any;
    evidenceFreshness?: ResolveIOSupportEvidenceFreshness;
    requiredEvidence?: any;
    failureClass?: ResolveIOSupportV5FailureClass | string;
    blocker?: any;
    evidenceHash?: string;
    now?: Date | string;
}): ResolveIOSupportEvidenceProbeContract;
export declare function buildResolveIOSupportContinuationProofCheckpoint(input: {
    action: ResolveIOSupportV5AutonomousNextAction;
    reason?: any;
    evidenceFreshness?: ResolveIOSupportEvidenceFreshness;
    requiredEvidence?: any;
    requiredResetEvidence?: any;
    blocksProductRepair?: boolean;
}): ResolveIOSupportContinuationProofCheckpoint;
export declare function changedFilesOutsideResolveIOSupportDiagnosisOwnerFiles(diagnosisGate: any, changedFiles: any, options?: {
    allowTests?: boolean;
}): string[];
export declare function buildResolveIOSupportOwnerScopedRepairContract(input?: {
    diagnosisGate?: any;
    changedFiles?: any;
    allowTestsOutsideOwnerFiles?: boolean;
    now?: Date | string;
}): ResolveIOSupportOwnerScopedRepairContract;
export declare function decideResolveIOSupportV5RepairGate(input: ResolveIOSupportV5RepairGateInput): ResolveIOSupportV5RepairGateDecision;
export declare function applyResolveIOSupportDiagnosisGateToMicrotasks(bundle: ResolveIOSupportV5StateBundle, diagnosisGate: any): ResolveIOSupportV5StateBundle;
export declare function fingerprintResolveIOSupportV5Blocker(value: any): string;
export declare function buildResolveIOSupportV5Budget(existing?: Partial<ResolveIOSupportV5Budget>): ResolveIOSupportV5Budget;
export declare function buildResolveIOSupportV5PromptBudget(existing?: Partial<ResolveIOSupportV5PromptBudget>): ResolveIOSupportV5PromptBudget;
export declare function buildResolveIOSupportV5ScopeDigest(input: {
    goal?: string;
    approvedScope?: string | string[];
    prBranch?: string;
    maxTokens?: number;
}): string;
export declare function buildResolveIOSupportV5MicrotaskLedger(input: {
    scopeDigest: string;
    requirements?: string[];
    buildThreadKey: string;
    qaThreadKey: string;
    now?: Date | string;
    existing?: ResolveIOSupportV5Microtask[];
}): ResolveIOSupportV5Microtask[];
export declare function selectResolveIOSupportV5ActiveMicrotask(ledger?: ResolveIOSupportV5Microtask[], preferredId?: string): ResolveIOSupportV5Microtask | undefined;
export declare function initializeResolveIOSupportV5State(input: ResolveIOSupportV5InitializeInput): ResolveIOSupportV5StateBundle;
export declare function recordResolveIOSupportV5Step(bundle: ResolveIOSupportV5StateBundle, step: ResolveIOSupportV5StepInput): ResolveIOSupportV5StateBundle;
export declare function recordResolveIOSupportV5MicrotaskUsage(bundle: ResolveIOSupportV5StateBundle, usage: Omit<ResolveIOSupportV5MicrotaskUsage, 'recordedAt'>): ResolveIOSupportV5StateBundle;
export declare function decideResolveIOSupportV5Continuation(bundle: ResolveIOSupportV5StateBundle): ResolveIOSupportV5ContinuationDecision;
export declare function decideResolveIOSupportV5AutonomousNextAction(input: ResolveIOSupportV5AutonomousDecisionInput): ResolveIOSupportV5AutonomousDecision;
export declare function buildResolveIOSupportV5DiagnoseFirstPrompt(lines: {
    goal?: string;
    approvedScope?: string[];
    activeStep?: ResolveIOSupportV5StepType;
    activeBlocker?: string;
    lane?: ResolveIOSupportV5Lane;
    laneSummary?: string;
    currentQaRow?: ResolveIOSupportV5LaneMemory['activeQaRow'];
    artifactPaths?: string[];
    changedFiles?: string[];
}): string[];
export declare function buildResolveIOSupportV5MicrotaskPrompt(input: {
    bundle: ResolveIOSupportV5StateBundle;
    lane: 'build' | 'qa';
    model?: string;
    stage?: string;
    failureText?: string;
    changedFiles?: string[];
    artifactPaths?: string[];
    targetFiles?: string[];
    contextSnippets?: string[];
    similarCaseHints?: any;
    activeQaRow?: ResolveIOSupportV5LaneMemory['activeQaRow'];
    now?: Date | string;
}): {
    prompt: string;
    promptTokenEstimate: number;
    promptSections: ResolveIOSupportV5UsageSection[];
    diagnosisEvidencePack: ResolveIOSupportDiagnosisEvidencePack;
    activeMicrotask?: ResolveIOSupportV5Microtask;
    withinCap: boolean;
    withinHardCap: boolean;
    cap: number;
    hardCap: number;
    reason?: string;
};
export declare function summarizeResolveIOSupportV5MicrotaskUsage(bundle: ResolveIOSupportV5StateBundle): {
    totalPromptTokenEstimate: number;
    byMicrotask: Array<{
        microtaskId: string;
        promptTokenEstimate: number;
        calls: number;
    }>;
    bySection: ResolveIOSupportV5UsageSection[];
    broadPromptViolations: ResolveIOSupportV5MicrotaskUsage[];
};
export declare function buildResolveIOSupportV5Incident(input: {
    incidentClass: string;
    summary: string;
    stepType?: ResolveIOSupportV5StepType;
    blocker?: string;
    artifactPaths?: string[];
    now?: Date | string;
}): ResolveIOSupportV5RunnerIncident;
