import type { WorkflowClaudeDispatchCeiling, WorkflowCodexDispatchCeiling, WorkflowDispatchCeiling, WorkflowDispatchCeilingPreset, WorkflowManagedDispatchPolicy } from './oat-config.js';
/**
 * Fixed mapping table: preset → concrete per-provider values.
 * This is the single authority for preset compilation; the resolver and skills
 * must not re-map these values.
 *
 * Design notes:
 * - cost-conscious holds Claude at `sonnet` (no Haiku reviewers by default).
 * - The table is `as const` to preserve literal types for downstream consumers.
 */
export declare const DISPATCH_CEILING_PRESETS: {
    readonly balanced: {
        readonly codex: "high";
        readonly claude: "sonnet";
    };
    readonly maximum: {
        readonly codex: "xhigh";
        readonly claude: "opus";
    };
    readonly 'cost-conscious': {
        readonly codex: "medium";
        readonly claude: "sonnet";
    };
};
export type DispatchPolicyClaudeValue = WorkflowClaudeDispatchCeiling | 'fable';
export type CappedManagedDispatchPolicy = Exclude<WorkflowManagedDispatchPolicy, 'uncapped'>;
export declare const DISPATCH_POLICY_PRESETS: {
    readonly economy: {
        readonly codex: "medium";
        readonly claude: "sonnet";
    };
    readonly balanced: {
        readonly codex: "high";
        readonly claude: "sonnet";
    };
    readonly high: {
        readonly codex: "xhigh";
        readonly claude: "opus";
    };
    readonly frontier: {
        readonly codex: "xhigh";
        readonly claude: "fable";
    };
};
/**
 * Result of compiling a preset selection.
 * Both `preset` (provenance label) and `providers` (concrete values) are present.
 */
export interface PresetCompileResult {
    preset: WorkflowDispatchCeilingPreset;
    providers: {
        codex: WorkflowCodexDispatchCeiling;
        claude: WorkflowClaudeDispatchCeiling;
    };
}
/**
 * Result of compiling an advanced/manual per-provider selection.
 * No `preset` key — advanced selections store only `providers`.
 */
export interface AdvancedCompileResult {
    providers: WorkflowDispatchCeiling['providers'] & object;
}
export type DispatchPolicyCompileResult = {
    mode: 'managed';
    policy: CappedManagedDispatchPolicy;
    providers: {
        codex: WorkflowCodexDispatchCeiling;
        claude: DispatchPolicyClaudeValue;
    };
} | {
    mode: 'managed';
    policy: 'uncapped';
};
/**
 * Compile a preset label into concrete per-provider values.
 * The returned `preset` field is provenance only; runtime dispatch reads
 * only `providers`.
 */
export declare function compileDispatchCeilingPreset(preset: WorkflowDispatchCeilingPreset): PresetCompileResult;
/**
 * Pass through advanced/manual per-provider values with no `preset` key.
 * Advanced selections do not set a preset so the persisted shape omits it.
 */
export declare function compileAdvancedDispatchCeiling(providers: WorkflowDispatchCeiling['providers'] & object): AdvancedCompileResult;
export declare function dispatchPolicyProviderTargets(policy: CappedManagedDispatchPolicy): {
    codex: WorkflowCodexDispatchCeiling;
    claude: DispatchPolicyClaudeValue;
};
/**
 * Compile the managed dispatch-policy ladder into concrete provider caps.
 * `uncapped` is intentionally explicit but has no provider caps.
 */
export declare function compileDispatchPolicyPreset(policy: WorkflowManagedDispatchPolicy): DispatchPolicyCompileResult;
//# sourceMappingURL=dispatch-ceiling-preset.d.ts.map