/**
 * 意图信号提取器 — 从用户意图文本中提取结构化信号。
 *
 * 信号类型：动作词、产物词、否定词、约束词、上下文引用。
 * 所有别名结构化定义，支持中文/英文别名和乱序表达。
 */
import type { InputMaterialKind } from "./input_material_extractor.js";
import type { ArtifactKind } from "../contracts/artifact_contract_registry.js";
export type ActionCategory = "extract" | "generate" | "code_change" | "analyze" | "review" | "acceptance" | "plan" | "operate";
export interface ActionSignal {
    category: ActionCategory;
    /** 匹配到的原文 */
    match: string;
    /** 在 intent 中的位置 */
    index: number;
    confidence: number;
}
export interface ArtifactSignal {
    kind: ArtifactKind | "unknown";
    /** 匹配到的原文 */
    match: string;
    index: number;
    confidence: number;
}
export interface NegationSignal {
    match: string;
    index: number;
    /** 被否定的目标类别 */
    negates: ActionCategory | "mutation" | "pipeline";
}
export interface ConstraintSignal {
    match: string;
    index: number;
    type: "no_mutation" | "no_pipeline" | "scope_limit" | "format";
}
export type WorkflowIntent = "architecture_design" | "existing_system_gap_analysis" | "test_first_coding" | "local_browser_acceptance" | undefined;
export interface IntentSignals {
    actions: ActionSignal[];
    artifacts: ArtifactSignal[];
    negations: NegationSignal[];
    constraints: ConstraintSignal[];
    /** 源码提取材料信号（archive/log/doc 等） */
    source_material_kinds: InputMaterialKind[];
    /** 是否有"从X提取"的提取结构 */
    has_extraction_structure: boolean;
    /** 是否有全流程信号 */
    has_full_pipeline: boolean;
    /** 是否是跳过/闲聊 */
    is_skip: boolean;
    /** 跳过原因 */
    skip_reason?: string;
    /** 是否是通用问答 */
    is_general_qa: boolean;
    /** 是否是纯解释 */
    is_pure_explain: boolean;
    /** 灰区信号（整理/看看等） */
    gray_zone?: "organize" | "look" | undefined;
    /** 工作流意图信号 */
    workflow_intent: WorkflowIntent;
}
interface ActionAlias {
    category: ActionCategory;
    patterns: RegExp[];
}
export declare const ACTION_ALIASES: ActionAlias[];
interface ArtifactAlias {
    kind: ArtifactKind;
    patterns: RegExp[];
    defaultName: string;
    template?: string;
}
export declare const ARTIFACT_ALIASES: ArtifactAlias[];
export declare const SKIP_RULES: Array<{
    pattern: RegExp;
    reason: string;
}>;
export declare const GENERAL_QA_RULES: RegExp[];
export declare const PURE_EXPLAIN_RULES: RegExp[];
export declare const SOURCE_MATERIAL_RULES: Array<{
    pattern: RegExp;
    kind: InputMaterialKind;
}>;
export declare const EXTRACTION_STRUCTURE: RegExp[];
export declare const FULL_PIPELINE_RULES: RegExp[];
export declare function extractSignals(intent: string): IntentSignals;
/** 产物别名表查找（供路由器使用） */
export declare function findArtifactAlias(kind: string): ArtifactAlias | undefined;
/** 获取所有产物别名表（供 detectArtifact 使用） */
export declare function getArtifactAliases(): readonly ArtifactAlias[];
export {};
//# sourceMappingURL=intent_signal_extractor.d.ts.map