import createClient from "openapi-fetch"; import type { Logger } from "./client-utils.js"; export declare const ANALYTICS: "analytics"; export type SERVICE_NAME = typeof ANALYTICS; export type TokenFunction = (serviceName: SERVICE_NAME) => Promise | string; export type BaseClientParams = { baseUrl: string; getTokenFn?: TokenFunction; logger?: Logger; }; export declare abstract class BaseClient { private readonly baseUrl?; private readonly initialized; private readonly tokenExpiryThresholdMs; protected token?: string; protected tokenExpiryCheckTime: number; private refreshLock; protected getTokenFn?: TokenFunction; protected serviceName: SERVICE_NAME | undefined; protected logger?: Logger; protected client: ReturnType>; constructor({ baseUrl, getTokenFn, logger }: BaseClientParams); deleteToken(): void; protected getToken(): Promise; isInitialized(): boolean; hasValidToken(): boolean; protected checkToken(): void; private toMilliseconds; private isTokenExpired; private performRefreshToken; refreshToken(): Promise; } //# sourceMappingURL=base-client.d.ts.map