import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit, QueryList, Renderer2, SimpleChanges } from '@angular/core';
import { NpaAction, NpaActionConfig } from './table-actions.types';
import { BoxModelService, NpaElement, NpaId, NpaOption, ToolService } from '@circe/core';
import { NpaActionConfigSource, NpaTableActionType, NpaTableColumn, NpaTableRowValue } from '../table.types';
import { Subject } from 'rxjs';
import { NpaDropdownConfig } from '@circe/dropdown';
export declare class TableActionsComponent<T> implements OnInit, OnChanges {
    el: ElementRef<HTMLElement>;
    tools: ToolService;
    private _cd;
    private _renderer;
    private _bm;
    actionsContainer: ElementRef;
    dropdownTrigger: ElementRef;
    actionElements: QueryList<ElementRef>;
    actions: NpaActionConfig<T>[] | NpaActionConfigSource<T>;
    actionsType: NpaTableActionType;
    setDropdownParentTo: NpaElement;
    dropdownConfig: NpaDropdownConfig;
    tableRow: NpaTableColumn<T>[];
    rowData: NpaTableRowValue<T>;
    isHoveringRow: boolean;
    hotRender: boolean;
    group: boolean;
    defaultActionId: NpaId;
    actionsDropdownRelativeElement: NpaElement;
    manualHideDropdown: Subject<void>;
    selectedOption: EventEmitter<NpaAction<T>>;
    defaultAction: EventEmitter<NpaAction<T>>;
    viewActions: NpaAction<T>[];
    processedActions: NpaAction<T>[];
    internalId: string;
    showDropdown: boolean;
    dropdownItems: NpaOption[];
    processedDropdownConfig: NpaDropdownConfig;
    dropdownKeyboard$: Subject<KeyboardEvent>;
    private _iconHandler;
    private _componentDestroyed$;
    constructor(el: ElementRef<HTMLElement>, tools: ToolService, _cd: ChangeDetectorRef, _renderer: Renderer2, _bm: BoxModelService);
    private _processConfigurations;
    private _mapActionConfigToAction;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    dropdownSelected(option: NpaOption): void;
    onDropdownShow(): void;
}
