import { AxiosRequestConfig } from 'axios';
import LMResponse from './lmresponse';
import { LMSDKCallbacks } from '../../LMCallback';
import { ConversationState } from 'src/shared/enums/conversationstate';
declare class NetworkLibrary {
    private tokenManager;
    private xApiKey;
    private excludedConversationStates;
    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: number): void;
    setApiKey(xApiKey: string): void;
    getApiKey(): string;
    setExcludedConversationStates(excludedConversationStates: ConversationState[]): void;
    getExcludedConversationStates(): ConversationState[];
    setLMSDKCallbacks(callback: LMSDKCallbacks): void;
    clearUser(): void;
    private makeRequest;
    makeAuthenticatedRequest<T>(url: string, config?: AxiosRequestConfig): Promise<LMResponse<T>>;
}
export default NetworkLibrary;
