export interface PreflightResult {
    /** True iff there are zero blocking errors. Warnings do NOT flip this. */
    ok: boolean;
    /** Blocking problems — a candidate with any of these fails the write path. */
    errors: string[];
    /** Non-blocking semantic smells worth surfacing to the agent. */
    warnings: string[];
}
/**
 * Validate a candidate composition without touching disk.
 *
 * `candidate` is intentionally `unknown` — an agent's hand-built composition
 * may be any shape, and the whole point is to tell it how far off it is.
 */
export declare function preflight(candidate: unknown): PreflightResult;
//# sourceMappingURL=preflight.d.ts.map