import type { ClientHttp2Stream, IncomingHttpHeaders, OutgoingHttpHeaders } from 'node:http2'; import { Http2Client, Http2TimeoutError } from './http2'; export type RequestInfo = string | URL; export interface RequestInit { method?: string; headers?: OutgoingHttpHeaders; body?: string | Buffer; keepAlive?: boolean | number; timeout?: number; } export interface Response { readonly headers: IncomingHttpHeaders; readonly ok: boolean; readonly status: number; readonly statusText: string; readonly url: string; readonly body: ClientHttp2Stream; buffer(): Promise; arrayBuffer(): Promise; json(): Promise; text(): Promise; close(): void; destroy(): void; } export { Http2TimeoutError }; export declare class FetchClient { http2Client: Http2Client; constructor(); fetch(input: RequestInfo, init?: RequestInit): Promise; } export declare function fetch(input: RequestInfo, init?: RequestInit): Promise;