/**
 * Zero-Config Init — 确定性 fingerprint 探测 + config 草案生成 + 字段级证据。
 *
 * 职责:
 * - detectFingerprint: 探测项目技术栈、目录结构、验证命令，生成确定性指纹
 * - generateConfigDraft: 基于 fingerprint 生成 config 草案
 * - generateConfigEvidence: 字段级证据记录
 *
 * 原则: 确定性探测优先，LLM 只做 advisory 解释。
 */
export { FieldClass } from "./config_precedence_contract/field_class.js";
import type { FieldClass } from "./config_precedence_contract/field_class.js";
export type ConfidenceLevel = "high" | "medium" | "low";
export type ConfidenceSource = "detected" | "user_declared" | "confirmed" | "inferred" | "default";
export type EvidenceMode = "auto" | "interactive" | "blueprint";
export interface ConfigEvidenceField {
    value: unknown;
    confidence: ConfidenceLevel;
    confidence_source: ConfidenceSource;
    evidence: string[];
}
export interface ConfigEvidence {
    schema_version: number;
    generated_at: string;
    mode: EvidenceMode;
    project_root: string;
    fields: Record<string, ConfigEvidenceField>;
}
/** 获取配置字段分类（A/B/C 类） */
export declare function getFieldClass(field: string): FieldClass;
/** Required fields for --auto write gate — all must be high confidence */
export declare const REQUIRED_FIELDS: readonly ["name", "tech_stack", "build_commands", "product_profile"];
export interface ProjectFingerprint {
    project_root: string;
    detected_at: string;
    hash: string;
    backend: {
        lang: string;
        framework: string;
        version: string;
        detected_from: string;
    } | null;
    frontend: {
        lang: string;
        framework: string;
        version: string;
        detected_from: string;
    } | null;
    package_managers: string[];
    build_tools: string[];
    test_frameworks: string[];
    directories: string[];
    config_files: string[];
    pkg_scripts: Record<string, string>;
    advisory: string[];
}
export interface ConfigDraft {
    name: string;
    tech_stack: {
        backend: {
            lang: string;
            framework: string;
            version: string;
        };
        frontend: {
            lang: string;
            framework: string;
            version: string;
        };
    };
    product_profile: string;
    build_commands: {
        backend: {
            build: string;
            test: string;
            full: string;
        };
        frontend: {
            build: string;
            test: string;
            full: string;
        };
    };
    scope: {
        backend: string[];
        frontend: string[];
    };
    advisory_notes: string[];
    confidence: "high" | "medium" | "low";
}
/**
 * 探测项目指纹 — 纯确定性，无 LLM 参与。
 */
export declare function detectFingerprint(projectRoot: string): Promise<ProjectFingerprint>;
/**
 * 基于指纹生成配置草案 — 确定性 + advisory 解释。
 * LLM 不直接生成配置，只做 advisory 解释。
 */
export declare function generateConfigDraft(fingerprint: ProjectFingerprint): ConfigDraft;
export interface ConfigValidationResult {
    valid: boolean;
    errors: string[];
    warnings: string[];
}
/**
 * 校验 config 草案结构完整性 — advisory, 不 hard block。
 * 确保核心字段存在且格式正确。缺失字段标记为 warning。
 */
export declare function validateConfigDraft(draft: ConfigDraft): ConfigValidationResult;
/**
 * 基于 fingerprint + draft 生成字段级证据。
 */
export declare function generateConfigEvidence(fp: ProjectFingerprint, draft: ConfigDraft, mode: EvidenceMode): ConfigEvidence;
/**
 * 检查 evidence 是否允许 --auto 写入。
 * 所有 REQUIRED_FIELDS 对应的字段必须 high confidence + detected/user_declared/confirmed。
 */
export declare function canAutoWrite(evidence: ConfigEvidence): {
    allowed: boolean;
    blockedFields: string[];
};
interface BlueprintParseResult {
    parsed: boolean;
    tech_stack: {
        backend: {
            lang: string;
            framework: string;
            version: string;
        } | null;
        frontend: {
            lang: string;
            framework: string;
            version: string;
        } | null;
    };
    product_profile: string | null;
}
/**
 * 规则解析蓝图文本（不调用 LLM）。
 */
export declare function parseBlueprint(text: string): BlueprintParseResult;
/**
 * 从蓝图生成 evidence（所有字段 confidence_source = user_declared）。
 */
export declare function generateBlueprintEvidence(blueprintText: string, config: {
    name: string;
    tech_stack: {
        backend: {
            lang: string;
            framework: string;
            version: string;
        } | null;
        frontend: {
            lang: string;
            framework: string;
            version: string;
        } | null;
    };
    build_commands: {
        backend: {
            build: string;
            test: string;
            full: string;
        };
        frontend: {
            build: string;
            test: string;
            full: string;
        };
    };
    scope: {
        backend: string[];
        frontend: string[];
    };
    product_profile: string;
}, projectRoot: string): ConfigEvidence;
//# sourceMappingURL=zero_config_init.d.ts.map