/**
 * Http Client - Fluent HTTP request builder
 *
 * Usage:
 *   await HttpClient.get('https://api.example.com/users').withAuth(token).send();
 *   await HttpClient.post('https://api.example.com/users', data).withTimeout(5000).send();
 */
import { type IHttpResponse } from './HttpResponse';
export type { IHttpResponse } from './HttpResponse';
/**
 * HTTP Request builder interface
 */
export interface IHttpRequest {
    withHeader(name: string, value: string): IHttpRequest;
    withHeaders(headers: Record<string, string>): IHttpRequest;
    withAuth(token: string, scheme?: 'Bearer' | 'Basic'): IHttpRequest;
    withBasicAuth(username: string, password: string): IHttpRequest;
    withTimeout(ms: number): IHttpRequest;
    asJson(): IHttpRequest;
    asForm(): IHttpRequest;
    send(): Promise<IHttpResponse>;
    sendRaw(): Promise<Response>;
    sendStream(): Promise<{
        response: Response;
        stream: ReadableStream<Uint8Array> | null;
    }>;
}
/**
 * HTTP Client - Sealed namespace for making HTTP requests
 */
export declare const HttpClient: Readonly<{
    /**
     * Make GET request
     */
    get(url: string): IHttpRequest;
    /**
     * Make POST request
     */
    post(url: string, data?: Record<string, unknown>): IHttpRequest;
    /**
     * Make PUT request
     */
    put(url: string, data?: Record<string, unknown>): IHttpRequest;
    /**
     * Make PATCH request
     */
    patch(url: string, data?: Record<string, unknown>): IHttpRequest;
    /**
     * Make DELETE request
     */
    delete(url: string, data?: Record<string, unknown>): IHttpRequest;
}>;
export default HttpClient;
//# sourceMappingURL=Http.d.ts.map