import { QueryRequest } from "../wire-protocol";
import { HTTPClient, HTTPClientOptions, HTTPRequest, HTTPResponse, HTTPStreamRequest, HTTPStreamClient, StreamAdapter } from "./http-client";
/**
 * An implementation for {@link HTTPClient} that uses the native fetch API
 */
export declare class FetchClient implements HTTPClient, HTTPStreamClient {
    #private;
    constructor({ url, fetch_keepalive }: HTTPClientOptions);
    /** {@inheritDoc HTTPClient.request} */
    request<T = QueryRequest>({ data, headers: requestHeaders, method, client_timeout_ms, path, }: HTTPRequest<T>): Promise<HTTPResponse>;
    /** {@inheritDoc HTTPStreamClient.stream} */
    stream({ data, headers: requestHeaders, method, path, }: HTTPStreamRequest): StreamAdapter;
    /** {@inheritDoc HTTPClient.close} */
    close(): void;
}
