export type WorkflowSpendTokenType = 'spark' | 'sogni'; export interface WorkflowCostPreview { templateId: string; inputs: Record; totalEstimatedCapacityUnits: number; perStageBreakdown: Array<{ stageId: string; units: number; assumptions: string[]; }>; tokenType: WorkflowSpendTokenType; maxAcceptableUnits?: number; expectedDurationSeconds: number; validityUntil: string; } export interface WorkflowRunConfirmation { workflowRunId: string; decision: 'confirm' | 'cancel'; acceptedCostPreview: WorkflowCostPreview; } export type StageSettlementStatus = 'pending' | 'in_flight' | 'settled' | 'failed' | 'cancelled'; export interface StageSettlement { stageId: string; projectId?: string; jobIds: string[]; estimatedUnits: number; settledUnits?: number; status: StageSettlementStatus; } export interface WorkflowAuthorization { workflowRunId: string; authorizedCapacityUnits: number; tokenType: WorkflowSpendTokenType; authorizedAt: string; expiresAt: string; cumulativeSettledUnits: number; cumulativeReservedUnits: number; stageSettlements: StageSettlement[]; } export declare function isWorkflowSpendTokenType(value: unknown): value is WorkflowSpendTokenType; export declare function isStageSettlementStatus(value: unknown): value is StageSettlementStatus; export declare function isWorkflowCostPreview(value: unknown): value is WorkflowCostPreview; export declare function isWorkflowRunConfirmation(value: unknown): value is WorkflowRunConfirmation; export declare function isStageSettlement(value: unknown): value is StageSettlement; export declare function isWorkflowAuthorization(value: unknown): value is WorkflowAuthorization; export interface WorkflowAuthorizationValidationError { path: string; message: string; } export interface WorkflowAuthorizationValidationResult { valid: boolean; errors: WorkflowAuthorizationValidationError[]; } export declare function validateWorkflowCostPreview(value: unknown): WorkflowAuthorizationValidationResult; export declare function validateWorkflowAuthorization(value: unknown): WorkflowAuthorizationValidationResult; //# sourceMappingURL=workflowAuthorization.d.ts.map