import { PreservedTranslationOutput, TranslationKeyMap, TranslationKeyType, VegaTranslationConfig } from './interface'; import { HTMLStencilElement } from '../../stencil-public-runtime'; /** * Vega translation controller to control the internal text translation */ declare class InternalTranslationController { private static connectedComponents; private resources; private _currentLanguage; constructor(); /** * Get current language * * @returns {string} current language */ get currentLanguage(): string; /** * Initializes the translation controller with provided resources and language. * * @param {VegaTranslationConfig} config - The configuration object containing resources and initial language. */ init({ resources, language }: VegaTranslationConfig): void; /** * Changes the current language if it exists in the resources. * * @param {string} language - The language code to change to. */ changeLanguage(language: string): void; /** * Retrieves the translated string for the given key based on the current language. * * @param {string} key - The key for the translation. * @param {unknown[]} args - A list of values to replace in the translation string. * @returns {string} The translated string or the key itself if not found. */ t(key: TranslationKeyMap[T], ...args: unknown[]): string; /** * Registers a component to the `connectedComponents` map, associating it with the component's tag name. * If the tag already exists, it adds the component to the existing set of components. * * @param {HTMLStencilElement} host - The component instance to register. */ registerComponent(host: T): void; /** * Unregister a component from the `connectedComponents` map. * * @param {HTMLStencilElement} host - The component instance to unregister. */ unRegisterComponent(host: T): void; /** * Retrieves the map of connected components, where each entry associates a tag name with a set of components. * * @returns {Map>} A map of connected components. */ getConnectedComponents(): Map>; /** * Retrieves the preserved translated message segments. * * @param {string} key - The key for the translation. * @param {RegExp} preservePattern - the preserved regulation pattern to apply. * @param {unknown[]} args - A list of values to replace in the translation string. * @returns {PreservedTranslationOutput[]} An array of translated segments */ tWithPreservedBlocks(key: TranslationKeyMap[T], preservePattern?: RegExp, ...args: unknown[]): PreservedTranslationOutput[]; } export declare const VegaInternalTranslation: InternalTranslationController; export {};