import type { ApiResponse, ApiQueryParams, StructuredApiRequest, ApiRequest } from "./types.js";
export declare class FetchBuddy<Routes extends string> {
    private _baseUrl;
    private _headers;
    constructor({ domain, version }: {
        domain: string;
        version?: string;
    });
    get headers(): Headers;
    private getResponseError;
    private getRequestError;
    private handleResponseOk;
    private request;
    get<R extends ApiResponse, Q extends ApiQueryParams = ApiQueryParams>(args: string | StructuredApiRequest<Routes, Q>, init?: RequestInit): Promise<R>;
    post<R extends ApiResponse, B extends ApiRequest, Q extends ApiQueryParams = ApiQueryParams>(args: string | StructuredApiRequest<Routes, Q>, body: B, init?: RequestInit): Promise<R>;
}
//# sourceMappingURL=FetchBuddy.d.ts.map