import { AxiosInstance } from "axios";
export interface CacheClientConfig {
    baseURL: string;
    privateKey: string;
    did: string;
    loginEndpoint: string;
    refreshEndpoint: string;
}
export declare class CacheClient {
    private privateKey;
    private loginEndpoint;
    private refreshEndpoint;
    private accessToken;
    private refreshToken;
    private signer;
    private did;
    private identityToken;
    api: AxiosInstance;
    constructor(config: CacheClientConfig);
    private _login;
    private _refresh;
    private _handle401;
    private createIdentityToken;
    get<T = any>(...a: Parameters<AxiosInstance["get"]>): Promise<import("axios").AxiosResponse<T, any>>;
    post<T = any>(...a: Parameters<AxiosInstance["post"]>): Promise<import("axios").AxiosResponse<T, any>>;
    put<T = any>(...a: Parameters<AxiosInstance["put"]>): Promise<import("axios").AxiosResponse<T, any>>;
    delete<T = any>(...a: Parameters<AxiosInstance["delete"]>): Promise<import("axios").AxiosResponse<T, any>>;
}
