export interface HttpClientOptions { baseUrl: string; timeout?: number; headers?: Record; } export interface HttpMethodDefinition { method: string; path: string; paramName?: string; methodName?: string; retry?: { maxAttempts: number; backoffMs?: number; backoffMultiplier?: number; }; } export interface RequestInterceptor { intercept(request: { method: string; url: string; headers: Record; body?: unknown; }): Promise<{ method: string; url: string; headers: Record; body?: unknown; }> | { method: string; url: string; headers: Record; body?: unknown; }; } export declare function UseRequestInterceptor(interceptorClass: new (...args: any[]) => RequestInterceptor): ClassDecorator; export declare function getRequestInterceptors(target: Function): (new (...args: any[]) => RequestInterceptor)[]; export declare function HttpClient(options: HttpClientOptions): ClassDecorator; export declare const HttpGet: (path?: string) => MethodDecorator; export declare const HttpPost: (path?: string) => MethodDecorator; export declare const HttpPut: (path?: string) => MethodDecorator; export declare const HttpPatch: (path?: string) => MethodDecorator; export declare const HttpDelete: (path?: string) => MethodDecorator; export declare function Retryable(options: { maxAttempts: number; backoffMs?: number; backoffMultiplier?: number; }): MethodDecorator; export interface RequestOptions { method: string; url: string; body?: unknown; headers?: Record; timeout?: number; } export declare function makeRequest(options: RequestOptions, redirectCount?: number): Promise; //# sourceMappingURL=http-client.d.ts.map