import { ChangeDetectorRef, EventEmitter, Injector } from '@angular/core';
import { Nullable, PlainObjectOf } from '@angular-ru/cdk/typings';
import { ColumnsSchema, ProduceDisableFn, TableClickEventEmitter, TableEvent, ViewPortInfo, VirtualIndex } from '../../interfaces/table-builder.external';
import { RecalculatedStatus, TableBrowserEvent } from '../../interfaces/table-builder.internal';
import { ContextMenuService } from '../../services/context-menu/context-menu.service';
import { SelectionService } from '../../services/selection/selection.service';
import { NgxContextMenuComponent } from '../ngx-context-menu/ngx-context-menu.component';
import * as i0 from "@angular/core";
export declare class TableTbodyComponent<T> {
    cd: ChangeDetectorRef;
    private readonly ngZone;
    source: Nullable<T[]>;
    striped: boolean;
    isRendered: boolean;
    offsetTop?: Nullable<number>;
    primaryKey?: Nullable<string>;
    recalculated: Nullable<RecalculatedStatus>;
    headLineHeight: Nullable<number>;
    viewportInfo: Nullable<ViewPortInfo>;
    virtualIndexes: VirtualIndex[];
    enableSelection: boolean;
    enableFiltering: boolean;
    tableViewport: Nullable<HTMLElement>;
    columnVirtualHeight: Nullable<number>;
    selectionEntries: PlainObjectOf<boolean>;
    contextMenuTemplate: Nullable<NgxContextMenuComponent<T>>;
    produceDisableFn: ProduceDisableFn<T>;
    clientRowHeight: Nullable<number>;
    rowCssClasses: PlainObjectOf<string[]>;
    columnSchema: Nullable<ColumnsSchema>;
    readonly changed: EventEmitter<void>;
    selection: SelectionService<T>;
    contextMenu: ContextMenuService<T>;
    constructor(cd: ChangeDetectorRef, injector: Injector);
    get canSelectTextInTable(): boolean;
    openContextMenu(event: MouseEvent, key: Nullable<string>, row: T): void;
    handleDblClick<K>(row: T, key: string, event: MouseEvent, emitter?: TableClickEventEmitter<T, K>): void;
    handleOnClick<K>(row: T, key: string, event: MouseEvent, emitter?: TableClickEventEmitter<T, K>): void;
    generateTableCellInfo<K>(item: T, key: string, $event: TableBrowserEvent): TableEvent<T, K>;
    private handleEventEmitter;
    private checkSelectedItem;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableTbodyComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TableTbodyComponent<any>, "table-tbody", never, { "source": "source"; "striped": "striped"; "isRendered": "isRendered"; "offsetTop": "offset-top"; "primaryKey": "primary-key"; "recalculated": "recalculated"; "headLineHeight": "head-height"; "viewportInfo": "viewport-info"; "virtualIndexes": "virtual-indexes"; "enableSelection": "enable-selection"; "enableFiltering": "enable-filtering"; "tableViewport": "table-viewport"; "columnVirtualHeight": "column-virtual-height"; "selectionEntries": "selection-entries"; "contextMenuTemplate": "context-menu"; "produceDisableFn": "produce-disable-fn"; "clientRowHeight": "client-row-height"; "rowCssClasses": "row-css-classes"; "columnSchema": "column-schema"; }, { "changed": "changed"; }, never, never>;
}
//# sourceMappingURL=table-tbody.component.d.ts.map