export type CommerceRequestDiagnostic = { stage: string; method: string; requestId: string; name: string; cause?: { code: string; }; status?: number; attempt: number; elapsedMs: number; at: string; }; export declare class CommerceRequestError extends Error { readonly diagnostic: CommerceRequestDiagnostic; readonly retryable: boolean; status?: number; code?: string; resetOrdinals?: unknown; rewriteOrdinals?: unknown; constructor(message: string, diagnostic: CommerceRequestDiagnostic, retryable: boolean); } type RequestOptions = { expiresAt?: string; onFailure?: (diagnostic: CommerceRequestDiagnostic) => void; onRetry?: (diagnostic: CommerceRequestDiagnostic, delayMs: number) => void; onSuccess?: (request: { requestId: string; stage: string; }) => void; }; type Transport = { fetch: typeof fetch; sleep: (ms: number, signal?: AbortSignal | null) => Promise; now: () => number; }; export declare const FLOW_C_DELIVERY_RETRY_BUDGET_MS = 60000; /** Only read-only requests and server-deduplicated handoff deliveries may retry. */ export declare function commerceJson(url: string, token: string, tokenHeader: string, init?: RequestInit, options?: RequestOptions, transport?: Transport): Promise; export {};