export type SpendGateState = 'not_required' | 'preview_required' | 'waiting_for_user' | 'confirmed' | 'cancelled' | 'insufficient_credit' | 'safety_review_required' | 'failed'; export type SpendGateScope = 'tool_call' | 'parallel_batch' | 'workflow_run'; export type SpendGateTokenType = 'spark' | 'sogni'; export type SpendGateDecision = 'confirm' | 'cancel' | 'approved' | 'rejected' | 'cancelled'; export type NormalizedSpendGateDecision = 'confirm' | 'cancel'; export declare function normalizeSpendDecision(decision: SpendGateDecision): NormalizedSpendGateDecision; export interface SpendGateCostBreakdownEntry { model: string; units: number; tokenType: SpendGateTokenType; } export interface SpendGatePendingToolCallRef { toolCallId: string; toolName: string; estimateUnits?: number; } export interface SpendGatePendingWorkflowPlanRef { workflowRunId: string; templateId: string; } export interface SpendGateEstimate { capacityUnits: number; breakdown: SpendGateCostBreakdownEntry[]; tokenType: SpendGateTokenType; maxAcceptableUnits?: number; } export interface SpendGateRequest { scope: SpendGateScope; toolCallId?: string; workflowRunId?: string; estimateCapacityUnits: number; estimateCostBreakdown: SpendGateCostBreakdownEntry[]; maxAcceptableUnits?: number; reason?: string; } export interface SpendGate { state: SpendGateState; gateId?: string; scope?: SpendGateScope; runId?: string; estimate?: SpendGateEstimate; reason?: string; pendingToolCalls?: SpendGatePendingToolCallRef[]; pendingWorkflowPlan?: SpendGatePendingWorkflowPlanRef; createdAt?: string; updatedAt?: string; decidedAt?: string; decision?: SpendGateDecision; request?: SpendGateRequest; failureReason?: string; } export declare function isSpendGateState(value: unknown): value is SpendGateState; export declare function isSpendGateScope(value: unknown): value is SpendGateScope; export declare function isSpendGateTokenType(value: unknown): value is SpendGateTokenType; export declare function isSpendGateDecision(value: unknown): value is SpendGateDecision; export declare function isSpendGateCostBreakdownEntry(value: unknown): value is SpendGateCostBreakdownEntry; export declare function isSpendGatePendingToolCallRef(value: unknown): value is SpendGatePendingToolCallRef; export declare function isSpendGatePendingWorkflowPlanRef(value: unknown): value is SpendGatePendingWorkflowPlanRef; export declare function isSpendGateEstimate(value: unknown): value is SpendGateEstimate; export declare function isSpendGateRequest(value: unknown): value is SpendGateRequest; export declare function isSpendGate(value: unknown): value is SpendGate; export interface SpendGateValidationError { path: string; message: string; } export interface SpendGateValidationResult { valid: boolean; errors: SpendGateValidationError[]; } export declare function validateSpendGateRequest(value: unknown): SpendGateValidationResult; export declare function validateSpendGate(value: unknown): SpendGateValidationResult; //# sourceMappingURL=spendGate.d.ts.map