import type { IConfigCatClient } from "../ConfigCatClient.js"; import type { IAutoPollOptions, ILazyLoadingOptions, IManualPollOptions } from "../ConfigCatClientOptions.js"; import { PollingMode } from "../ConfigCatClientOptions.js"; import { IndexedDBConfigCache } from "../shared/IndexedDBConfigCache.js"; import { LocalStorageConfigCache } from "./LocalStorageConfigCache.js"; import { XmlHttpRequestConfigFetcher } from "./XmlHttpRequestConfigFetcher.js"; /** * Returns an instance of `ConfigCatClient` for the specified SDK Key. * @remarks This method returns a single, shared instance per each distinct SDK Key. * That is, a new client object is created only when there is none available for the specified SDK Key. * Otherwise, the already created instance is returned (in which case the `pollingMode` and `options` arguments are ignored). * So, please keep in mind that when you make multiple calls to this method using the same SDK Key, you may end up with multiple references to the same client object. * @param sdkKey SDK Key to access the ConfigCat config. * @param pollingMode The polling mode to use. * @param options Options for the specified polling mode. */ export declare function getClient(sdkKey: string, pollingMode?: TMode, options?: OptionsForPollingMode): IConfigCatClient; export { createConsoleLogger, createFlagOverridesFromMap, createFlagOverridesFromQueryParams, disposeAllClients } from "../index.pubternals.core.js"; export type { IQueryStringProvider } from "../index.pubternals.core.js"; /** Options used to configure the ConfigCat SDK in the case of Auto Polling mode. */ export interface IJSAutoPollOptions extends IAutoPollOptions { } /** Options used to configure the ConfigCat SDK in the case of Lazy Loading mode. */ export interface IJSLazyLoadingOptions extends ILazyLoadingOptions { } /** Options used to configure the ConfigCat SDK in the case of Manual Polling mode. */ export interface IJSManualPollOptions extends IManualPollOptions { } export type OptionsForPollingMode = TMode extends PollingMode.AutoPoll ? IJSAutoPollOptions : TMode extends PollingMode.ManualPoll ? IJSManualPollOptions : TMode extends PollingMode.LazyLoad ? IJSLazyLoadingOptions : TMode extends undefined ? IJSAutoPollOptions : never; export { LocalStorageConfigCache }; export { IndexedDBConfigCache }; export { XmlHttpRequestConfigFetcher }; export { ClientSideFetchApiConfigFetcher } from "../shared/FetchApiConfigFetcher.js"; export * from "../index.js";