import { AbortablePromise } from 'better-promises'; import { RequestOptionsNoCapture } from '../../../types.js'; import { GetCssVarNameFn } from './types.js'; /** * Creates CSS variables connected with the current theme parameters. * * By default, created CSS variables names are following the pattern "--tg-theme-{name}", where * {name} is a theme parameters key name converted from snake case to kebab case. * * Default variables: * - `--tg-theme-bg-color` * - `--tg-theme-secondary-text-color` * * Variables are being automatically updated if theme parameters were changed. * * @param getCSSVarName - function, returning complete CSS variable name for the specified * theme parameters key. * @returns Function to stop updating variables. * @throws {FunctionNotAvailableError} The environment is unknown * @throws {FunctionNotAvailableError} The SDK is not initialized * @throws {CSSVarsBoundError} CSS variables are already bound * @throws {FunctionNotAvailableError} The parent component is not mounted * @example Using no arguments * if (bindCssVars.isAvailable()) { * bindCssVars(); * } * @example Using custom CSS vars generator * if (bindCssVars.isAvailable()) { * bindCssVars(key => `--my-prefix-${key}`); * } */ export declare const bindCssVars: import('../../wrappers/wrapSafe.js').SafeWrapped<(getCSSVarName?: GetCssVarNameFn) => VoidFunction, false, never>; /** * Mounts the Theme Params component restoring its state. * @throws {FunctionNotAvailableError} The environment is unknown * @throws {FunctionNotAvailableError} The SDK is not initialized * @throws {FunctionNotAvailableError} The function is not supported * @deprecated Use `mountSync`. * @example * if (mount.isAvailable()) { * await mount(); * } */ export declare const mount: import('../../wrappers/wrapSafe.js').SafeWrapped<(_options?: RequestOptionsNoCapture | undefined) => AbortablePromise, false, never>; /** * @deprecated The initialization is synchronous. Use `mountSync`. */ export declare const isMounting: import('@telegram-apps/signals').Computed; /** * @deprecated The initialization is synchronous. Use `mountSync`. */ export declare const mountPromise: import('@telegram-apps/signals').Computed>> | undefined>; /** * @deprecated The initialization is synchronous. Use `mountSync`. */ export declare const mountError: import('@telegram-apps/signals').Computed; export declare const _isMounted: import('@telegram-apps/signals').Signal, isMounted: import('@telegram-apps/signals').Computed; /** * Mounts the Theme Params component restoring its state. * @throws {FunctionNotAvailableError} The environment is unknown * @throws {FunctionNotAvailableError} The SDK is not initialized * @throws {FunctionNotAvailableError} The function is not supported * @example * if (mountSync.isAvailable()) { * mountSync(); * } */ export declare const mountSync: import('../../wrappers/wrapSafe.js').SafeWrapped<() => void, false, never>; /** * Unmounts the Theme Params component. */ export declare function unmount(): void;