/**
 * @slot header - The top of the modal.
 * @slot footer - Replaces the bottom button.
 * @slot language - Replaces language label, has replaceable props `{name}`, `{code}`, `{country_code}`.
 * @slot currency - Replaces currency label, has replaceable props `{name}`, `{code}`, `{country_code}`.
 */
export declare class SallaLocalizationModal {
    constructor();
    private modal;
    private btn;
    private readonly languageSlot;
    private readonly currencySlot;
    translationLoaded: boolean;
    languages: Array<any>;
    currencies: Array<any>;
    hasError: boolean;
    errorMessage: string;
    /**
     * Current language (existing or newly selected)
     */
    language: string;
    /**
     * Current currency (existing or newly selected)
     */
    currency: string;
    host: HTMLElement;
    /**
     * open the component
     */
    open(): Promise<any>;
    /**
     * Hide the component
     */
    close(): Promise<HTMLElement>;
    private getLanguages;
    private getCurrencies;
    private onChangeCurrency;
    private onChangeLanguage;
    /**
     * Change currency and language to the selected ones.
     */
    submit(): Promise<void>;
    render(): any;
    /**
     * to reduce dom levels we will move slot data into the parent dom
     */
    componentDidRender(): void;
}
