/**
 * 架构决策研讨契约。
 *
 * 架构设计不是先写结果再补理由。该模块定义六类决策域的确认状态，
 * 供 sf_expand 在生成正式设计指令前强制校验。
 */
export declare const ARCHITECTURE_DECISION_DOMAINS: readonly ["business_process", "data_architecture", "security_architecture", "backend_architecture", "frontend_architecture", "infrastructure"];
export type ArchitectureDecisionDomain = typeof ARCHITECTURE_DECISION_DOMAINS[number];
export type ArchitectureDecisionStatus = "not_started" | "exploring" | "recommended" | "awaiting_confirmation" | "confirmed" | "rejected" | "rework_required" | "not_applicable_with_reason" | "deferred_with_impact";
export type ArchitectureProjectContext = "existing_system" | "new_system" | "empty_project" | "refactor_or_upgrade";
export interface ArchitectureDecisionOption {
    option_id: string;
    summary: string;
    benefits: string[];
    risks: string[];
    rejected_reason?: string;
}
export interface ArchitectureDecisionRecord {
    decision_id: string;
    domain: ArchitectureDecisionDomain;
    status: ArchitectureDecisionStatus;
    required: boolean;
    facts_and_constraints: string[];
    evidence_refs: string[];
    options: ArchitectureDecisionOption[];
    recommendation?: {
        option_id: string;
        rationale: string[];
    };
    user_confirmation_ref?: string;
    dependent_domains: ArchitectureDecisionDomain[];
    deferred_impact?: string[];
    not_applicable_reason?: string;
}
export interface ArchitectureDecisionWorkshopContract {
    task_id: string;
    project_context: ArchitectureProjectContext;
    status: "draft" | "awaiting_confirmation" | "confirmed" | "rework_required" | "blocked";
    prerequisite_evidence_refs: string[];
    domains: Record<ArchitectureDecisionDomain, ArchitectureDecisionRecord>;
    document_output_confirmation_ref?: string;
    required_diagrams: string[];
    design_generation_allowed: boolean;
    blocking_findings: string[];
}
export interface ArchitectureWorkshopGateResult {
    allowed: boolean;
    status: ArchitectureDecisionWorkshopContract["status"];
    missing_domains: ArchitectureDecisionDomain[];
    blocking_findings: string[];
    next_domain?: ArchitectureDecisionDomain;
}
export declare function createArchitectureDecisionWorkshop(taskId: string, projectContext?: ArchitectureProjectContext): ArchitectureDecisionWorkshopContract;
/** 架构设计、重大系统方案才进入六域研讨，低风险修改不误拦。 */
export declare function requiresArchitectureDecisionWorkshop(workflowIntent: string | undefined, intent: string): boolean;
export declare function evaluateArchitectureDecisionWorkshop(contract: ArchitectureDecisionWorkshopContract | undefined): ArchitectureWorkshopGateResult;
export declare function applyArchitectureWorkshopGate(contract: ArchitectureDecisionWorkshopContract | undefined): ArchitectureDecisionWorkshopContract | undefined;
//# sourceMappingURL=architecture_decision_workshop.d.ts.map