import type { RequestOptions, RequestResponse, RetryableError } from './types/base.js'; export declare const BASE_URL = "https://www.xvideos.com"; export declare const resolveUrl: (path: string | undefined) => string; export declare const delay: (milliseconds: number) => Promise; export declare const shouldRetry: (error: unknown) => error is RetryableError; /** * Exponential backoff with full jitter (AWS recommended): the delay for a * given attempt is a uniform random value in * [0, RETRY_BASE_DELAY_MS * 2^(attempt-1)). Jitter avoids thundering-herd * retry storms against rate limiters. */ export declare const computeRetryDelay: (attempt: number, random?: () => number) => number; /** * Module-level configuration shared by every createRequest instance in the * process. This keeps videos.ts and any user-created clients polite against * rate limiters even when they run concurrently, and lets callers route * through a proxy without touching internals. */ export type SharedRequestConfig = { minRequestIntervalMs: number; proxyUrl?: string; }; export declare const configureRequest: (config: SharedRequestConfig) => void; export declare const resetSharedThrottle: () => void; export declare const createRequest: (options?: RequestOptions) => { get(path: string): Promise; }; declare const _default: { BASE_URL: string; computeRetryDelay: typeof computeRetryDelay; configureRequest: typeof configureRequest; createRequest: typeof createRequest; delay: typeof delay; resetSharedThrottle: typeof resetSharedThrottle; resolveUrl: typeof resolveUrl; shouldRetry: typeof shouldRetry; }; export default _default;