import type { Requestor } from './requestor';
import type { RequestOptions } from './requestOptions';
declare class WhaleRequest implements Requestor {
    private client;
    static create(client: Requestor): WhaleRequest;
    constructor(client: Requestor);
    private applyRequestInterceptors;
    private applyResponseInterceptors;
    private applyInterceptors;
    private applyErrorInterceptors;
    private getCachedResponse;
    private applyCache;
    private retry;
    private request;
    private normalizeOptions;
    get(options: RequestOptions): Promise<RequestOptions>;
    post(options: RequestOptions): Promise<RequestOptions>;
}
export declare let whaleRequest: WhaleRequest;
export declare function inject(requestor: Requestor): void;
export declare function useRequestor(): Requestor;
export declare function setGlobalOptions(options: RequestOptions): void;
export default WhaleRequest;
