import { S as SDKGlobalContext } from '../types.internal-8d3OI2Qm.mjs';
import 'viem';
import '../evmUtils/evmContractAddresses.mjs';
import './types/knownIds.mjs';
import '../xlinkSdkUtils/types.mjs';
import './BigNumber.mjs';
import 'big.js';
import './typeHelpers.mjs';

declare function requestAPI<T>(sdkContext: Pick<SDKGlobalContext, "backendAPI">, options: {
    path: string;
    method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
    query?: Record<string, string>;
    body?: Record<string, unknown>;
}): Promise<T>;
declare const readAPIResponse: <T>(resp: Response) => Promise<T>;
declare class TooManyRequestsError extends Error {
    requestUrl: string;
    retryAfter?: number;
    constructor(resp: Response, options?: ErrorConstructorOptions);
}
declare class ThirdPartyRequestError extends Error {
    serviceName: string;
    isThirdPartyRequestError: boolean;
    static fromSerializedError(err: any): undefined | ThirdPartyRequestError;
    constructor(serviceName: string, options?: ErrorConstructorOptions);
}
declare class RequestError extends Error {
    response: {
        url: string;
        status: number;
        body: string;
    };
    constructor(response: {
        url: string;
        status: number;
        body: string;
    }, options?: ErrorConstructorOptions);
}

export { RequestError, ThirdPartyRequestError, TooManyRequestsError, readAPIResponse, requestAPI };
