import * as i0 from '@angular/core';
import { OnInit, EventEmitter, InputSignal, ModelSignal } from '@angular/core';
import { DxDataGridComponent, INestedOptionContainer, DxDateBoxComponent, DxPopupComponent, DxTextAreaComponent } from 'devextreme-angular';
import * as i9 from '@cauca-911/core';
import { Configuration } from '@cauca-911/core';
import * as i8 from '@angular/common';
import * as i10 from 'devextreme-angular/ui/button';
import * as i11 from 'devextreme-angular/ui/date-box';
import * as i12 from 'devextreme-angular/ui/data-grid';
import * as i13 from 'devextreme-angular/ui/popup';
import * as i14 from 'devextreme-angular/ui/tab-panel';
import * as i15 from 'devextreme-angular/ui/text-box';
import * as i16 from 'devextreme-angular/ui/text-area';
import * as i17 from 'devextreme-angular/ui/validator';

declare class CaucaDataGridComponent extends DxDataGridComponent implements OnInit, INestedOptionContainer {
    allowPrint: boolean;
    allowExports: boolean;
    allowLocationEditing: boolean;
    fileName: string;
    private isEditing;
    private readonly location;
    constructor();
    ngOnInit(): void;
    exporting(e: any): void;
    private toolbarPreparing;
    private addPrintButton;
    private initialized;
    private printGridAsPage;
    private convertGridAsPdf;
    private convertGridAsExcel;
    static ɵfac: i0.ɵɵFactoryDeclaration<CaucaDataGridComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CaucaDataGridComponent, "cauca-dx-data-grid", never, { "allowPrint": { "alias": "allowPrint"; "required": false; }; "allowExports": { "alias": "allowExports"; "required": false; }; "allowLocationEditing": { "alias": "allowLocationEditing"; "required": false; }; "fileName": { "alias": "fileName"; "required": false; }; }, {}, never, ["*"], false, never>;
}

declare class CaucaDateBoxComponent extends DxDateBoxComponent implements OnInit {
    constructor();
    ngOnInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CaucaDateBoxComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CaucaDateBoxComponent, "cauca-dx-date-box", never, {}, {}, never, never, false, never>;
}

declare class CaucaPopupConfirmComponent implements OnInit {
    title: string;
    text: string;
    showTitle: boolean;
    visible: boolean;
    visibleChange: EventEmitter<boolean>;
    okClick: EventEmitter<void>;
    cancelClick: EventEmitter<void>;
    doneClick: EventEmitter<boolean>;
    barItems: any;
    bottomToolbarItems: any[];
    translationKeyParent: string;
    translationKeys: string[];
    types: {
        ok: string;
        cancel: string;
        close: string;
        yesno: string;
        okcancel: string;
        okclose: string;
        savecancel: string;
    };
    private readonly translate;
    set type(name: string);
    static onOkClick(e: any): void;
    static onCancelClick(e: any): void;
    ngOnInit(): void;
    getTranslations(): void;
    onVisibleChange(): void;
    initBarText(translations: string[]): void;
    popupHidden(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CaucaPopupConfirmComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CaucaPopupConfirmComponent, "cauca-popup-confirm", never, { "title": { "alias": "title"; "required": false; }; "text": { "alias": "text"; "required": false; }; "showTitle": { "alias": "showTitle"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, { "visibleChange": "visibleChange"; "okClick": "okClick"; "cancelClick": "cancelClick"; "doneClick": "doneClick"; }, never, ["*"], false, never>;
}

declare class CaucaPopupEditCancelEvent {
    private caucaPopupEditComponent;
    constructor(caucaPopupEditComponent: CaucaPopupEditComponent);
    cancel(): void;
}

declare class CaucaPopupEditComponent implements OnInit {
    bottomToolbarItems: any;
    types: {
        savecancel: string;
        okcancel: string;
    };
    title: InputSignal<string>;
    visible: ModelSignal<boolean>;
    visibleChange: EventEmitter<boolean>;
    popupShowing: EventEmitter<any>;
    popupShown: EventEmitter<any>;
    save: EventEmitter<CaucaPopupEditCancelEvent>;
    popup: DxPopupComponent;
    private readonly translationKeyParent;
    private readonly translationKeys;
    private canSaveState;
    private okButtonComponent;
    private saveButtonComponent;
    private cancelEvent;
    private isSaving;
    private readonly translateService;
    private barItems;
    constructor();
    get canSave(): boolean;
    set canSave(value: boolean);
    set type(name: string);
    ngOnInit(): void;
    getTranslations(): void;
    onHidden(): void;
    onShowing(e: any): void;
    onShown(e: any): void;
    cancelSave(): void;
    private emitVisibleChange;
    private initBarText;
    private saveButtonClick;
    private cancelButtonClick;
    private saveButtonDisabledState;
    private updateButtonDisabledState;
    static ɵfac: i0.ɵɵFactoryDeclaration<CaucaPopupEditComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CaucaPopupEditComponent, "cauca-popup-edit", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "canSave": { "alias": "canSave"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, { "visible": "visibleChange"; "visibleChange": "visibleChange"; "popupShowing": "popupShowing"; "popupShown": "popupShown"; "save": "save"; }, never, ["*"], false, never>;
}

declare class CaucaTextAreaLimitedComponent implements OnInit {
    textarea: DxTextAreaComponent;
    value: string;
    maxChar: number;
    format: string;
    valueChanged: EventEmitter<any>;
    charsToAvoid: string[];
    charsToReplace: string[];
    replaceChars: {
        [char: string]: string;
    };
    private gsm7bitChars;
    private gsm7bitCharsExt;
    private gsm7bitRegExp;
    private gsm7bitExtRegExp;
    private gsm7bitExtOnlyRegExp;
    private messageLength;
    private multiMessageLength;
    ngOnInit(): void;
    changed(e: any): void;
    getNumberOfSms(): number;
    getNumberOfChar(): string;
    private listUTF16Chars;
    private countSmsChars;
    private countGsm7bitExt;
    private getCharset;
    static ɵfac: i0.ɵɵFactoryDeclaration<CaucaTextAreaLimitedComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CaucaTextAreaLimitedComponent, "cauca-dx-text-area-limited", never, { "value": { "alias": "value"; "required": false; }; "maxChar": { "alias": "maxChar"; "required": false; }; "format": { "alias": "format"; "required": false; }; }, { "valueChanged": "valueChanged"; }, never, never, false, never>;
}

declare class CaucaTextBoxMultipleLangueComponent implements OnInit {
    valueChange: EventEmitter<any>;
    autoTranslate: EventEmitter<any>;
    localizationField: string;
    maxLength: number;
    availableLanguages: string[];
    isValid: boolean;
    isValidLang: any;
    config: Configuration;
    tabs: {
        languageCode: string;
        text: string;
    }[];
    selectedIndex: number;
    hasAutoTranslateEvent: boolean;
    private values;
    private validation;
    private readonly translate;
    constructor();
    get isRequired(): boolean;
    set isRequired(value: boolean);
    get value(): any;
    set value(value: any);
    ngOnInit(): void;
    getLocalizationIndex(languageCode: string): number;
    validate(): void;
    onTagChanged(): void;
    onValueChanged(): void;
    autoTranslateClicked(languageCode: string, text: string): void;
    private initializeLanguages;
    private loadLanguageTabs;
    static ɵfac: i0.ɵɵFactoryDeclaration<CaucaTextBoxMultipleLangueComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CaucaTextBoxMultipleLangueComponent, "cauca-dx-text-box-multiple-langue", never, { "localizationField": { "alias": "localizationField"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "availableLanguages": { "alias": "availableLanguages"; "required": false; }; "isRequired": { "alias": "isRequired"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; "autoTranslate": "autoTranslate"; }, never, never, false, never>;
}

declare class CaucaDevextremeService {
    static ɵfac: i0.ɵɵFactoryDeclaration<CaucaDevextremeService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CaucaDevextremeService>;
}

declare class CaucaDevextremeComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<CaucaDevextremeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CaucaDevextremeComponent, "cauca-devextreme", never, {}, {}, never, never, false, never>;
}

declare class CaucaDevextremeModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<CaucaDevextremeModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<CaucaDevextremeModule, [typeof CaucaDevextremeComponent, typeof CaucaDataGridComponent, typeof CaucaDateBoxComponent, typeof CaucaPopupConfirmComponent, typeof CaucaPopupEditComponent, typeof CaucaTextAreaLimitedComponent, typeof CaucaTextBoxMultipleLangueComponent], [typeof i8.CommonModule, typeof i9.CaucaCoreForChildModule, typeof i10.DxButtonModule, typeof i11.DxDateBoxModule, typeof i12.DxDataGridModule, typeof i13.DxPopupModule, typeof i14.DxTabPanelModule, typeof i15.DxTextBoxModule, typeof i16.DxTextAreaModule, typeof i17.DxValidatorModule], [typeof CaucaDevextremeComponent, typeof CaucaDataGridComponent, typeof CaucaDateBoxComponent, typeof CaucaPopupConfirmComponent, typeof CaucaPopupEditComponent, typeof CaucaTextAreaLimitedComponent, typeof CaucaTextBoxMultipleLangueComponent, typeof i12.DxDataGridModule]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<CaucaDevextremeModule>;
}

export { CaucaDataGridComponent, CaucaDateBoxComponent, CaucaDevextremeComponent, CaucaDevextremeModule, CaucaDevextremeService, CaucaPopupConfirmComponent, CaucaPopupEditCancelEvent, CaucaPopupEditComponent, CaucaTextAreaLimitedComponent, CaucaTextBoxMultipleLangueComponent };
