import { AuthTokens, EndpointConfig, RequestOptions, SDKConfig } from "../types/config";
import { InterceptorManager } from "./interceptors";
import { CancelToken } from "./cancel-token";
import { AuthState } from "../types/auth";
export declare class HttpClient {
    private readonly baseURL;
    private readonly apiKey;
    private readonly timeout;
    private retry;
    private readonly debug;
    private tokens;
    interceptors: {
        request: InterceptorManager;
        response: InterceptorManager;
    };
    constructor(config: SDKConfig);
    setTokens(tokens: AuthTokens): void;
    isAuthenticated(): Promise<AuthState>;
    clearAuth(): void;
    private saveTokensToStorage;
    private loadTokensFromStorage;
    private validateAuth;
    private request;
    private getHeaders;
    private refreshToken;
    get<T>(endpoint: EndpointConfig, options?: RequestOptions): Promise<T>;
    post<T>(endpoint: EndpointConfig, data?: any, options?: RequestOptions): Promise<T>;
    delete<T>(endpoint: EndpointConfig, options?: RequestOptions): Promise<T>;
    createCancelToken(): CancelToken;
    isCancelledError(error: any): boolean;
}
