import { Transaction } from "@mysten/sui/transactions";
import { ApiEventsBody, ApiIndexerEventsBody, CallerConfig, EventsWithCursor, IndexerEventsWithCursor, UniqueId, Url } from "../../types";
export declare class Caller {
    readonly config: CallerConfig;
    private readonly apiUrlPrefix;
    protected readonly apiBaseUrl?: Url;
    protected readonly apiEndpoint: Url;
    constructor(config?: CallerConfig, apiUrlPrefix?: Url);
    private static fetchResponseToType;
    private static apiBaseUrlForNetwork;
    private urlForApiCall;
    protected fetchApi<Output, BodyType = undefined>(url: Url, body?: BodyType, signal?: AbortSignal, options?: {
        disableBigIntJsonParsing?: boolean;
    }): Promise<Output>;
    protected fetchApiTransaction<BodyType = undefined>(url: Url, body?: BodyType, signal?: AbortSignal, options?: {
        disableBigIntJsonParsing?: boolean;
    }): Promise<Transaction>;
    protected fetchApiEvents<EventType, BodyType = ApiEventsBody>(url: Url, body: BodyType, signal?: AbortSignal, options?: {
        disableBigIntJsonParsing?: boolean;
    }): Promise<EventsWithCursor<EventType>>;
    protected fetchApiIndexerEvents<EventType, BodyType extends ApiIndexerEventsBody>(url: Url, body: BodyType, signal?: AbortSignal, options?: {
        disableBigIntJsonParsing?: boolean;
    }): Promise<IndexerEventsWithCursor<EventType>>;
    protected setAccessToken: (accessToken: UniqueId) => void;
}
//# sourceMappingURL=caller.d.ts.map