import { DynamicManager, WithUnderscoreAliases } from '../DynamicManager';
import { SlWebComponent } from '../store/StoreManager';
import { LANGUAGE_TYPES } from './constants';
import { LanguageStoreState } from './store';
export type SlLanguageWebComponent<S> = SlWebComponent<S> & WithUnderscoreAliases<{
    language?: LANGUAGE_TYPES;
}>;
/**
 * Provides a proxy object for a component to a language.
 * During construction, it add a store on a given component (specifically
 * on its DOM node) and init to manage language correctly.
 * @param cmp Component that requests the store and language.
 * @param initialState Default state of this store.
 * @param createStore Init the store of not.
 *
 * More information on All Manager
 *
 */
export declare class LanguageManager<C extends SlLanguageWebComponent<S>, S extends LanguageStoreState> extends DynamicManager<C, S> {
    private disconnectLanguageObserver;
    constructor(cmp: C, initialState?: S, createStore?: boolean);
    destroy(): void;
    private updateInternalLanguage;
}
