/**
 * 配置落盘边界。
 *
 * 区分空项目、已有项目和运行时推断，防止自动推断结果在未确认时写入用户工程。
 */
export type ConfigWriteContextKind = "greenfield" | "existing_project" | "runtime_inference";
export interface ConfigWriteContext {
    kind: ConfigWriteContextKind;
    project_path: string;
    evidence: string[];
    confirmed: boolean;
}
export interface ConfigWriteDecision {
    allowed: boolean;
    reason_zh: string;
    requires_confirmation: boolean;
}
export interface WriteBoundaryViolation {
    target_path: string;
    reason_zh: string;
}
export declare function classifyConfigContext(projectDir: string, opts?: {
    runtime_inference?: boolean;
    confirmed?: boolean;
}): ConfigWriteContext;
export declare function isWriteAllowed(context: ConfigWriteContext, targetPath: string): ConfigWriteDecision;
export declare function getWriteConfirmationPrompt(context: ConfigWriteContext, targetPath: string): string;
export declare function validateWriteBoundary(context: ConfigWriteContext, writes: string[]): WriteBoundaryViolation[];
//# sourceMappingURL=config_write_boundary.d.ts.map