export declare type TranslationStore = Record>; export declare type TranslationFunc = (key: string) => string; export declare type TranslationContextType = { translate: TranslationFunc; }; export declare type TranslationEventMap = { LanguageChange: string; TranslationLoaded: TranslationStore; }; export declare type TranslationEventHandler = ( event: K, detail: TranslationEventMap[K] ) => void; export declare type TranslationControlEventSource = { on: (event: K, handler: TranslationEventHandler) => void; off: (event: K, handler: TranslationEventHandler) => void; }; export declare class TranslationController implements TranslationControlEventSource { handlers: Map[]>; emit(event: K, detail: TranslationEventMap[K]): void; on(event: K, handler: TranslationEventHandler): void; off(event: K, handler: TranslationEventHandler): void; } export declare function saveCurrentLanguage(language: string, cookieDomain: string | undefined): Promise; export declare function getCurrentLanguageFromCookie(): Promise; export declare const getTranslationFunction: ( ...stores: TranslationStore[] ) => (key: T, replacements?: Record) => string;