/**
 * `uap deliver` — run the Fable-parity convergence loop.
 *
 * Drives an underlying model through execute → apply → verify → feedback
 * iterations against the project's real completion gates (build, typecheck,
 * test, lint) until all required gates pass or the turn budget is exhausted.
 */
import type { AutoPlan } from '../delivery/auto-optimizer.js';
export interface DeliverOptions {
    maxTurns?: string;
    model?: string;
    projectRoot?: string;
    endpoint?: string;
    temperature?: string;
    gates?: string;
    candidates?: string;
    critic?: boolean;
    practices?: boolean;
    /** commander sets this false when --no-semantic is passed (default true) */
    semantic?: boolean;
    escalate?: boolean;
    escalateModel?: string;
    /** Divergent ideation: generate task-specific strategy seeds (uap ideate) */
    ideate?: boolean;
    /** Seed exploration from an open-collider project's curated ideas */
    ideateProject?: string;
    /** Emit HALO spans for this run (uap harness analyze) */
    halo?: boolean;
    /** Register/announce/heartbeat via the coordination layer (uap agent) */
    coordinate?: boolean;
    /** Queue a commit of applied files into the deploy batcher (uap deploy) */
    deploy?: boolean;
    /** Enable every convergence aid (exploration, critic, practices, escalation, ideation, HALO, coordination) */
    optimize?: boolean;
    /** commander sets this false when --no-auto is passed (default true):
     * dynamic optimization — classify task complexity, enable matching aids */
    auto?: boolean;
    /** commander sets this false when --no-protect-tests is passed (default
     * true): refuse model writes to pre-existing test/spec files */
    protectTests?: boolean;
    dryRun?: boolean;
    json?: boolean;
}
/**
 * True when the user steered any aid explicitly — auto mode must then stand
 * down so flags remain the single source of truth for the run. Exported for
 * tests; commander leaves unset booleans undefined, so a present value
 * (true OR false) counts as explicit.
 */
export declare function hasExplicitAidFlags(options: DeliverOptions): boolean;
/**
 * Apply an auto plan onto the run options (exactly like --optimize does),
 * filling only fields the user left unset. Exported for tests.
 */
export declare function applyAutoPlan(options: DeliverOptions, plan: AutoPlan): void;
export declare function deliverCommand(instruction: string, options: DeliverOptions): Promise<void>;
//# sourceMappingURL=deliver.d.ts.map