declare let eventManager: any;
declare let rntinymce: any;
declare let smartFormsFixedFields: any;
declare let RedNaoEmailEditorVar: any;
declare let smartFormsTranslation: any;
declare let sfRedNaoEmail: any;
declare let wp: any;
declare let smartFormsEmailDoctorUrl: any;
declare let smartFormId: any;
declare let SmartFormsPopUpWizard: any;
declare let SFEmailWizardCondition: any;
declare function RedNaoGetValueOrEmpty(any: any): any;
declare class RedNaoEmailEditor {
    SelectedEmail: EmailInfo;
    FocusEventsInitialized: boolean;
    LastFocus: string;
    FirstTimeLoaded: boolean;
    Dialog: JQuery;
    Emails: EmailInfo[];
    FormElements: sfFormElementBase<any>[];
    MultiSelectOptions: any;
    EmailToOptions: any;
    $tabsContainer: JQuery;
    AdvancedOptionsShown: boolean;
    ElementToShow: string;
    constructor();
    InitializeFocusEvents(): void;
    EmailConfigurationIsValid(): boolean;
    SetUpFixedFields($container: any, tinyMCEID: any): void;
    CreateFixedFieldButton(buttonProperties: any, tinyMCEID: any): JQuery;
    ExecuteFixedFieldButton(buttonProperties: any, tinyMCEID: any): void;
    UpdateSelectedEmail(): void;
    SetupEmailTo(emailToOptions: any, alreadySelectedEmails: any, jQuerySelect: any, callBack: any, multiple: any): void;
    OpenMultipleOptionsFieldDialog(fieldId: any): void;
    AddMultipleOptionsEmail(fieldId: any, label: any, $dialog: any): void;
    AddEmailIfValid: (text: any, select: any, multiple: any) => void;
    AddEmail(email: any, select: any): void;
    OpenEmailEditor(redNaoFormElements: any, emails: any): void;
    EmailSelected(email: any): void;
    CloseEmailEditor(): void;
    AddFieldToEmail(id: any, tinyMCEID: any): boolean;
    private InitializeTabs(emails);
    AddEmailTab(emailInfo: EmailInfo, goToTab?: boolean): void;
    private TabClicked(tab, emailInfo);
    private EditName(tab, emailInfo);
    private ExecuteConditionalLogic(emailInfo, tab);
    private ToggleAdvancedOptions();
    private SanitizeText(content);
    private EncodeText(text);
    private GetCalculatedFieldHtml(options);
    private GetFieldHtml(fieldId, fieldLabel);
    private DecodeText(content);
    private GetFieldById(id);
    private GetLabelByOPId(opId);
    private RefreshElements();
    private InitializeConditions($container, emailEditorId);
    private AddCondition($container, emailEditorId, label, tooltip, code);
    private InitializeEmailEditor($container, tinyMCEID, onLoad, redNaoFormElements);
}
interface EmailInfo {
    ToEmail: string;
    Bcc: string;
    FromEmail: string;
    FromName: string;
    EmailSubject: string;
    EmailText: string;
    ReplyTo: string;
    MultipleOptionsToEmails: any;
    Name: string;
    Condition: EmailCondition;
}
interface EmailCondition {
    Use: 'always' | 'condition';
    ConditionSettings: {};
}
