import { ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { MatTableDataSource } from '@angular/material/table';
import { SafeHtml } from '@angular/platform-browser';
import { Store } from '@ngxs/store';
import { Observable, Subject } from 'rxjs';
import { DataService, EEllipsisMenuActions, EResourceComponent, ETreeSelectMode, ErrorsHandlerService, IArrayAttributeUpdateParams, IAssignArrayViewProperties, IAttribute, IData, IDataItem, IDataNode, IDataSourceRow, IUiEntryIds, InteractionsService } from '../../shared';
import { GenericListComponent } from '../generic-list/generic-list.component';
import { GenericTreeComponent } from '../generic-tree/generic-tree.component';
import { SearchBarComponent } from '../search-bar/search-bar.component';
import * as i0 from "@angular/core";
declare enum EBrowseState {
    PREVIOUS = "previous",
    NEXT = "NEXT"
}
export declare class ConfirmDialogComponent implements OnInit, OnDestroy {
    data: {
        selectedElementsUiIds: IUiEntryIds[];
        attributeModelRef?: string;
        title?: string;
        placeholder?: string;
        noSearchResult?: string;
        cancelButtonText?: string;
        confirmButtonText?: string;
        moveToRootButtonText?: string;
        moveToAnotherEntryButtonText?: string;
        previousStepButtonText?: string;
        nextStepButtonText?: string;
        dialogAction?: EEllipsisMenuActions | string;
        endpoint?: string;
        assignArrayViewProperties?: IAssignArrayViewProperties;
        displayedArrayRowsIds?: string[];
        assignedElementsAttributes?: string[];
        updateActionsParams?: IArrayAttributeUpdateParams;
        mapSelectedElementIdEditableValue: Map<string, string>;
        triggerElementId?: string;
        fieldForUpdate?: string;
    };
    private _interactionsService;
    private _store$;
    private _dataService;
    private _errorHandlerService;
    private _fb;
    onDestroy$: Subject<void>;
    dataTree: IDataNode[];
    dataList: IDataItem[];
    dataSource: MatTableDataSource<any, import("@angular/material/paginator").MatPaginator>;
    dataTreeAssignAction: IDataNode[];
    flattenDataTree: IDataNode[];
    selectedElementsIdsForEdit: IUiEntryIds[];
    editForm: FormGroup;
    selectedResourceTypeId: string;
    resourceTypeComponent: EResourceComponent;
    selectedNode: IDataNode;
    selectedNodesId: string[];
    selectedItem: IDataItem;
    selectedElements: (IDataSourceRow | IDataNode)[];
    selectedElementsUiIds: IUiEntryIds[];
    title: SafeHtml;
    isActiveSearch: boolean;
    isAssignAction: boolean;
    isTwoStepsAssignAction: boolean;
    isReassignAction: boolean;
    isRemovingAction: boolean;
    isEditingAction: boolean;
    isMovingNodeAction: boolean;
    stepNumber: number;
    browseStates: typeof EBrowseState;
    attributeConfig: IAttribute;
    formErrors: {
        [id: string]: string;
    };
    resourcesComponents: typeof EResourceComponent;
    treeSelectMode: typeof ETreeSelectMode;
    isMovingToAnotherEntry: boolean;
    selectedEntryId$: Observable<string>;
    searchBar: SearchBarComponent;
    divArrayHeader: ElementRef;
    divContentArray: ElementRef;
    genericList: GenericListComponent;
    assignTree: GenericTreeComponent;
    action$: EventEmitter<any>;
    constructor(data: {
        selectedElementsUiIds: IUiEntryIds[];
        attributeModelRef?: string;
        title?: string;
        placeholder?: string;
        noSearchResult?: string;
        cancelButtonText?: string;
        confirmButtonText?: string;
        moveToRootButtonText?: string;
        moveToAnotherEntryButtonText?: string;
        previousStepButtonText?: string;
        nextStepButtonText?: string;
        dialogAction?: EEllipsisMenuActions | string;
        endpoint?: string;
        assignArrayViewProperties?: IAssignArrayViewProperties;
        displayedArrayRowsIds?: string[];
        assignedElementsAttributes?: string[];
        updateActionsParams?: IArrayAttributeUpdateParams;
        mapSelectedElementIdEditableValue: Map<string, string>;
        triggerElementId?: string;
        fieldForUpdate?: string;
    }, _interactionsService: InteractionsService, _store$: Store, _dataService: DataService, _errorHandlerService: ErrorsHandlerService, _fb: FormBuilder);
    ngOnInit(): void;
    ngOnDestroy(): void;
    onSelectedNode(node: IDataNode): void;
    onSelectedItem(item: IDataItem): void;
    onSearch(event: IData | IDataNode[]): void;
    onResetSearch(): void;
    onActiveSearch(event: boolean): void;
    selectedData(data: IDataSourceRow[] | IDataNode[]): void;
    getChildHeight(): number;
    submitAction(): void;
    private _setEditForm;
    changeAssignStep(state: EBrowseState): void;
    private _getValidators;
    checkFormValue(fieldId: string): void;
    moveToRoot(): void;
    moveToAnotherEntry(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmDialogComponent, "dm-confirm-dialog", never, {}, { "action$": "action$"; }, never, never, false, never>;
}
export {};
