import { OnInit, OnChanges, SimpleChanges } from '@angular/core';
import { UntypedFormControl } from '@angular/forms';
import { MatFormFieldAppearance } from '@angular/material/form-field';
import { ITextMask, OptionsAsyncParams } from '../../../@interfaces/eagna.interface';
import * as i0 from "@angular/core";
export declare class ElementComponent implements OnInit, OnChanges {
    params?: {
        key?: string;
        icon?: string;
        type?: string;
        header?: string;
        label?: any;
        value?: any;
        placeholder?: string;
        toolTip?: string;
        displayKey?: string;
        valueKey?: string;
        iconOnly?: boolean;
        editable?: boolean;
        formControl?: UntypedFormControl;
        autoCompleteOptions?: any;
        classes?: string | string[];
        options?: any[];
        appearance?: MatFormFieldAppearance;
        editByDefault?: boolean;
        requireSelection?: boolean;
        reduceOptionByQuery?: boolean;
        optionsAsyncParams?: OptionsAsyncParams;
        subTooltip?: string;
        emitWhenEmpty?: boolean;
        eraseParent?: boolean;
        minlength?: number;
        dontForceMinLength?: boolean;
        maxlength?: number;
        dontForceMaxLength?: boolean;
        displayMaxLength?: boolean;
        hintLabel?: string;
        emptyLabel?: string;
        loadingIcon?: boolean;
        loadingMessage?: string;
        codeMask?: ITextMask;
        debounceTime?: number;
        hasAssignment?: any;
        triggerOutsideEvent?: boolean;
        displayHtml?: (params?: any) => string;
        linkCallback?: (params?: any) => void;
        linkTooltop?: string;
        rbacRoles?: string[];
        enterKeyFn?: (fc: UntypedFormControl) => void;
        headerClass?: string;
        strikeWithNew?: number | string;
        allowSaveBlank?: boolean;
        additionalText?: string;
    };
    editing: boolean;
    internalFormControl: UntypedFormControl;
    rbacResult: any;
    constructor();
    isObject(objectValue: any): boolean;
    ngOnInit(): void;
    toggleEditing(cancel?: boolean): void;
    onExit(isSaving?: boolean): void;
    ngOnChanges(changes: SimpleChanges): void;
    save(bypassValue?: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ElementComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ElementComponent, "element", never, { "params": "params"; }, {}, never, ["[headerTemplate]", "*", "[iconTemplate]", "[valueTemplate]", "[valueTemplate]"], false>;
}
