import type { AuthStore } from '../auth/authStore.js'; import { OAuthClient } from '../auth/oauthClient.js'; import type { EndpointDefinition, LoadedApi, RequestBodyPreview, RequestExecutionResult, Retry429Config, McpFileDescriptor } from '../types.js'; interface RequestExecutorInput { api: LoadedApi; endpoint: EndpointDefinition; pathParams?: Record; query?: Record; headers?: Record; cookies?: Record; body?: unknown; files?: Record; contentType?: string; accept?: string; timeoutMs?: number; retry429?: Retry429Config; oauthClient: OAuthClient; authStore?: AuthStore; env?: NodeJS.ProcessEnv; } export interface PreparedEndpointRequest { request: RequestExecutionResult['request']; requestBodyPreview: RequestBodyPreview; timingMs: number; authUsed: string[]; body: RequestInit['body']; timeoutMs: number; retry429: ResolvedRetry429Options; fetchUrl: URL; fetchHeaders: Record; } interface ResolvedRetry429Options { maxRetries: number; baseDelayMs: number; maxDelayMs: number; jitterRatio: number; respectRetryAfter: boolean; } export declare function executeEndpointRequest(input: RequestExecutorInput): Promise; export declare function prepareEndpointRequest(input: RequestExecutorInput): Promise; export {};