import { AxiosRequestConfig } from "axios";
import LMResponse from "./lmresponse";
import { LMSDKCallbacks } from "../../LMCallback";
declare class NetworkLibrary {
    private tokenManager;
    private xApiKey;
    private lmSdkCallbacks;
    constructor(lmSdkCallbacks: LMSDKCallbacks);
    setAccessToken(accessToken: string): void;
    setRefreshToken(refreshToken: string): void;
    getAccessToken(): string;
    getRefreshToken(): string;
    onRefreshAccessToken(): Promise<void>;
    setUserInLocalStorage(user: string): void;
    setApiKeyInLocalStorage(apiKey: string): void;
    setAccessTokenInLocalStorage(token: string): void;
    setRefreshTokenInLocalStorage(token: string): void;
    getAccessTokenFromLocalStorage(): string;
    getRefreshTokenFromLocalStorage(): string;
    getApiKeyFromLocalStorage(): string;
    getUserFromLocalStorage(): string;
    setPlatformCode(platFormCode: string): void;
    setVersionCode(versionCode: any): void;
    setApiKey(xApiKey: string): void;
    getApiKey(): string;
    setLMSDKCallbacks(callback: LMSDKCallbacks): void;
    clearLocalStorage(): void;
    private makeRequest;
    makeAuthenticatedRequest<T>(url: string, config?: AxiosRequestConfig): Promise<LMResponse<T>>;
}
export default NetworkLibrary;
