import { type TemplateResult } from "lit"; import { OrElement } from "@openremote/or-element"; import type { LocalizedNotificationMessage } from "@openremote/model"; import "./or-rule-form-email-message"; import "./or-rule-form-push-notification"; import { type OrRuleForm } from "./or-rule-form"; declare const OrRuleFormLocalized_base: (new (...args: any[]) => { _i18nextJustInitialized: boolean; _language: string; connectedCallback(): void; disconnectedCallback(): void; shouldUpdate(changedProps: import("lit").PropertyValues): any; initCallback: (options: import("i18next").InitOptions) => void; langChangedCallback: () => void; readonly isConnected: boolean; }) & typeof OrElement; export declare class OrRuleFormLocalized extends OrRuleFormLocalized_base implements OrRuleForm { message?: LocalizedNotificationMessage; type: "push" | "email"; languages: string[]; defaultLang: string; wrongLanguage: boolean; readonly?: boolean; protected _selectedLanguage: string; protected _validLanguages?: string[]; static get styles(): import("lit").CSSResult; connectedCallback(): void; checkValidity(): boolean; protected render(): TemplateResult<1>; /** * Internal function that returns we "the default language has changed! Fix here" warning. (using {@link TemplateResult}) * This template includes a button that will update the default language to the correct one. */ protected _getWrongLanguageTemplate(): Promise; /** * Function that corrects the default language in the {@link LocalizedNotificationMessage}, * to the one provided by parent elements using {@link defaultLang}. * The {@link wrongLanguage} property will be updated to 'false'. */ protected _fixDefaultLanguage(): void; /** * Internal function that returns the "select language" controls form. (using {@link TemplateResult}) * Based on {@link languageCodes}, it lists all languages of the ISO6391 specification. */ protected _getLanguageSelectForm(selected: string, languageCodes?: string[], divider?: boolean): Promise; /** * HTML callback for when the selected language changes. */ protected _onLanguageChange(ev: Event): void; /** * Internal function that returns the correct notification form, based on the type. * Based on {@link lang}, it uses the Notification configured for that language. */ protected _getNotificationForm(message?: LocalizedNotificationMessage | undefined, lang?: string): Promise; /** * Internal function that returns the "language error" text, if a message is invalid. (using {@link TemplateResult}) * Based on {@link validLanguages} and the listed {@link languages}, it shows a string of which ones are invalid. */ protected _getLanguageErrorTemplate(languages: string[], validLanguages: string[]): Promise; /** * A public function that checks if the localized {@link message} is valid. * By looping through the languages, we verify for each email- and push notification if some required variables are empty. * Returns true, or false if ANY language is not valid. */ isValid(): boolean; /** * Function that cleans up the localized notification message, by removing empty (or not filled in-) messages. * By looping through the languages, checking the amount of keys in the JS object, we delete languages that can be cleared. */ protected _cleanNotificationMessage(): void; } export {}; //# sourceMappingURL=or-rule-form-localized.d.ts.map