import { type DecisionInput, type DecisionModel, type DecisionResult } from '@zhivex-ai/core/provider'; /** Experimental. Registrations authorize only explicitly selected decision destinations. */ export interface GatewayDecisionTarget { model: DecisionModel; /** Application-supplied conservative reservation including all applicable premiums. Not a provider quote. */ reserveUSD?: number; } export interface GatewayDecisionRequest extends DecisionInput { primary: string; alternatives?: readonly string[]; /** Explicit status allowlist. Empty by default; refusals never trigger fallback. */ fallbackOn?: readonly (429 | 500 | 502 | 503 | 504)[]; /** Total network attempts, including primary. Defaults to one; no same-target retries. */ maxAttempts?: number; /** Request-local reservation ceiling. Unknown target reservation fails closed. */ maxReservedUSD?: number; allowedProviders?: readonly string[]; allowedEndpoints?: readonly string[]; requirePerQuestionRefusal?: boolean; } export interface GatewayDecisionResult extends DecisionResult { routing: { target: string; attempts: number; reservedUSD?: number; }; } export declare function createGatewayDecide(registry?: Readonly>, defaultTimeoutMs?: number): (request: GatewayDecisionRequest) => Promise; //# sourceMappingURL=decisions.d.ts.map