import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { ITextWords } from '../../constants/defaultTextWords';
import { IElementDto, TableColumnType } from '../../model';
import { SelectingElementsObjectType } from '../../model/selecting.model';
import { ConfigurationTreeService } from '../../services/configuration-tree.service';
import { SelectElementService } from '../../services/select-element.service';
import { TreeNodeSelectionService } from '../../services/tree-node-selection.service';
import * as i0 from "@angular/core";
export declare class TableStructureComponent implements OnInit, OnDestroy {
    selectElementService: SelectElementService;
    private treeNodeSelectionService;
    private cdr;
    configurationTreeService: ConfigurationTreeService;
    filteredElementList: import("@angular/core").InputSignal<IElementDto[]>;
    displayedColumns: string[];
    private isAllowOneClick;
    selectedElement: IElementDto | null;
    preselectedElement: IElementDto | null;
    private timerStop;
    checkedElements: SelectingElementsObjectType;
    private $destroy;
    readonly textWords$: Observable<ITextWords | null>;
    readonly selectedColor$: Observable<string>;
    readonly addTableColumns$: Observable<TableColumnType[]>;
    isSelectionMode: boolean;
    constructor(selectElementService: SelectElementService, treeNodeSelectionService: TreeNodeSelectionService, cdr: ChangeDetectorRef, configurationTreeService: ConfigurationTreeService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    select(row: IElementDto): void;
    dblSelect(row: IElementDto): void;
    openContextMenu(event: MouseEvent, row: IElementDto): void;
    changeSelecting(element: IElementDto, event: boolean): void;
    configureTableColumns(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableStructureComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TableStructureComponent, "ava-table-structure", never, { "filteredElementList": { "alias": "filteredElementList"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
