/**
 * intent_expander — shared type definitions.
 *
 * Re-exports all public interfaces used across the split modules so that
 * callers continue to import from `"./intent_expander/index.js"`.
 */
import type { ClassifyResult } from "../../../types/index.js";
import type { KnowledgeIndexManager } from "../../../knowledge/index_manager.js";
import type { IntentRouteDecision } from "../intent_router.js";
import type { OutputArtifact } from "../../contracts/artifact_contract_registry.js";
import type { InputMaterial, IngestionEvidence, PromptInjectionPlan } from "../input_material_contract_registry.js";
import type { DataSensitivityLabel, RedactionRecord, PrivacyGovernanceFinding } from "../../audit/privacy_secret_contract.js";
import type { BrainstormSession } from "../../contracts/extension_platform_contracts.js";
import type { KnowledgeInjectionReport } from "../../../types/index.js";
import type { ExpandResult, ProjectConfig, SubTask } from "../../../types/index.js";
import type { TaskStage } from "../../workflow/workflow_navigation_contract.js";
/** 计划阶段上下文 */
export interface PlanContext {
    current_step: SubTask;
    previous_outputs: Record<string, string>;
}
/** 意图膨胀输入参数 */
export interface ExpandInput {
    intent: string;
    classification: ClassifyResult;
    projectPath: string;
    config: ProjectConfig;
    knowledgeIndex: KnowledgeIndexManager;
    clarificationAnswers?: string[];
    plan_context?: PlanContext;
    route_decision?: IntentRouteDecision;
    input_material_confirmations?: string[];
    task_id?: string;
    /** 用户提供的脑暴会话 — 优先于自动生成的方案 */
    brainstorm_session?: BrainstormSession;
    /** 当前任务阶段，用于阶段感知知识注入 */
    task_stage?: TaskStage;
}
/**
 * 统一构造被阻断的 ExpandResult 的选项，消除 early return 的重复代码。
 */
export interface BlockedResultOptions {
    constraints: string[];
    stopConditions: string[];
    workflowTrace?: ExpandResult["workflow_trace"];
    outputArtifactRecord?: OutputArtifact;
    inputMaterials?: InputMaterial[];
    ingestionEvidences?: IngestionEvidence[];
    promptInjectionPlan?: PromptInjectionPlan;
    sensitivityLabels?: DataSensitivityLabel[];
    redactionRecords?: RedactionRecord[];
    privacyFindings?: PrivacyGovernanceFinding[];
    injectionReport?: KnowledgeInjectionReport;
    projectKnowledge?: {
        total: number;
        hard_fail_count: number;
        warning_count: number;
        selected: Array<{
            id: string;
            name: string;
            rel_path: string;
            consumption: string;
            identity: string;
        }>;
        selection_decisions?: Array<{
            id: string;
            name: string;
            rel_path: string;
            status: string;
            enforcement: string;
            reason_zh: string;
            matched_signals: string[];
            excluded_reasons: string[];
            verification_command?: string;
        }>;
        findings: Array<{
            rel_path: string;
            code: string;
            severity: string;
            message_zh: string;
        }>;
    };
}
export interface CircuitBreakerResult {
    tripped: boolean;
    confidence: number;
    reason?: string;
    brainstorm?: BrainstormOutput;
}
export interface BrainstormOutput {
    blind_spots: string[];
    evolution_tracks: {
        minimal: string;
        industrial: string;
        radical: string;
    };
    decision_questions: Array<{
        question: string;
        option_a: string;
        option_b: string;
    }>;
}
//# sourceMappingURL=types.d.ts.map