export interface IKSLPublicConfiguration { /** * When it's set to `true`, enables all debug logs. * Can be useful to get more information about how the SDK works inside. */ readonly debug: boolean; /** * Default values for data attributes, which are only used when those data attributes * are not found in DOM during data attributes parsing process. */ readonly defaultDataAttributes: IDefaultDataAttributes; /** * When it's set to `true`, iframe communication will always be enabled, * even when outside Web Spotlight. */ readonly forceWebSpotlightMode: boolean; /** * Name of the query parameter that should be present in the URL to enable the SDK. Query parameter is only used * outside Web Spotlight. */ readonly queryParam: string; } export interface IKSLPrivateConfiguration { /** * When it's set to `true`, enables iframe communication instead of redirects. */ readonly isInsideWebSpotlight: boolean; } export declare type KSLConfiguration = IKSLPublicConfiguration & IKSLPrivateConfiguration; export interface IDefaultDataAttributes { readonly languageCodename?: string; readonly projectId?: string; } export interface IConfigurationManager { readonly debug?: boolean; readonly defaultLanguageCodename?: string; readonly defaultProjectId?: string; readonly isInsideWebSpotlightPreviewIFrame: boolean; readonly queryParam?: string; readonly update: (configuration?: Partial) => void; } export declare class ConfigurationManager implements IConfigurationManager { private static instance; get debug(): boolean; get queryParam(): string | undefined; get defaultLanguageCodename(): string | undefined; get defaultProjectId(): string | undefined; get isInsideWebSpotlightPreviewIFrame(): boolean; private configuration; private constructor(); static getInstance(): ConfigurationManager; update: (configuration?: Partial) => void; }