/** * Error class for failures that should not be retried * (e.g., 4xx client errors where the same request will always fail) */ export declare class NonRetryableError extends Error { readonly statusCode: number; constructor(message: string, statusCode: number); } export interface RetryOptions { maxAttempts: number; initialDelay: number; maxDelay?: number; backoffMultiplier?: number; } /** * Retry a function with exponential backoff */ export declare function withRetry(fn: () => Promise, options: RetryOptions): Promise; /** * Queue for offline-capable requests */ export interface RequestQueue { add: (item: T) => void; process: (processor: (item: T) => Promise) => Promise; size: () => number; clear: () => void; } export declare function createRequestQueue(): RequestQueue;