//#region extensions/discord/src/internal/rest-scheduler.d.ts type RequestPriority$1 = "critical" | "standard" | "background"; type RequestQuery = Record; //#endregion //#region extensions/discord/src/internal/rest.d.ts type RuntimeProfile = "serverless" | "persistent"; type RequestPriority = RequestPriority$1; type RequestSchedulerOptions = { lanes?: Partial>; maxConcurrency?: number; maxRateLimitRetries?: number; }; type RequestClientOptions = { tokenHeader?: "Bot" | "Bearer"; baseUrl?: string; apiVersion?: number; userAgent?: string; timeout?: number; queueRequests?: boolean; maxQueueSize?: number; runtimeProfile?: RuntimeProfile; scheduler?: RequestSchedulerOptions; fetch?: (input: string | URL | Request, init?: RequestInit) => Promise; }; type NormalizedRequestClientOptions = RequestClientOptions & { apiVersion: number; maxQueueSize: number; timeout: number; }; type RequestData = { body?: unknown; multipartStyle?: "message" | "form"; rawBody?: boolean; headers?: Record; }; type QueuedRequest = { method: string; path: string; data?: RequestData; query?: RequestQuery; resolve: (value?: unknown) => void; reject: (reason?: unknown) => void; routeKey: string; }; declare class RequestClient { readonly options: NormalizedRequestClientOptions; protected token: string; protected customFetch: RequestClientOptions["fetch"]; protected requestControllers: Set; private scheduler; constructor(token: string, options?: RequestClientOptions); get(path: string, query?: QueuedRequest["query"]): Promise; post(path: string, data?: RequestData, query?: QueuedRequest["query"]): Promise; patch(path: string, data?: RequestData, query?: QueuedRequest["query"]): Promise; put(path: string, data?: RequestData, query?: QueuedRequest["query"]): Promise; delete(path: string, data?: RequestData, query?: QueuedRequest["query"]): Promise; protected request(method: string, path: string, params: { data?: RequestData; query?: QueuedRequest["query"]; }): Promise; protected executeRequest(method: string, path: string, params: { data?: RequestData; query?: QueuedRequest["query"]; }, routeKey?: string): Promise; clearQueue(): void; get queueSize(): number; getSchedulerMetrics(): { globalRateLimitUntil: number; activeBuckets: number; routeBucketMappings: number; buckets: { key: string; active: number; bucket: string | undefined; invalidRequests: number; pending: number; pendingByLane: { [k: string]: number; }; rateLimitHits: number; remaining: number | undefined; resetAt: number; routeKeyCount: number; }[]; invalidRequestCount: number; invalidRequestCountByStatus: Record; queueSize: number; queueSizeByLane: { critical: number; background: number; standard: number; }; droppedByLane: { critical: number; background: number; standard: number; }; oldestQueuedByLane: { [k: string]: number; }; activeWorkers: number; maxConcurrentWorkers: number; }; abortAllRequests(): void; } //#endregion export { RequestClientOptions as n, RequestClient as t };