import type { TaskContract } from '../types/taskContract';
/** Extract explicit constraints from a natural-language message. */
export declare function extractConstraints(message: string): string[];
/** Strip filler prefixes and return the primary goal sentence. */
export declare function extractGoal(message: string): string;
export interface ContractBuildOptions {
    /** Extra paths the agent is explicitly allowed to touch. */
    allowed_paths?: string[];
    /** Extra paths to block beyond the defaults. */
    extra_blocked_paths?: string[];
    /** Override validation commands. */
    validation?: string[];
    /** Override max turns. */
    max_turns?: number;
    /** Override approval_required. */
    approval_required?: boolean;
}
/**
 * Convert a freeform user message into a TaskContract.
 *
 * The result is deterministic and requires no model call, making it
 * safe to call before the loop starts and in pre-flight checks.
 */
export declare function buildTaskContract(message: string, options?: ContractBuildOptions): TaskContract;
//# sourceMappingURL=taskContractBuilder.d.ts.map