import { EventEmitter } from '@angular/core';
import { Keys } from '../../utils/keys';
import { ActivateEvent, SelectionType } from '../../types/public.types';
import * as i0 from "@angular/core";
export declare class DataTableSelectionComponent<TRow = any> {
    rows: TRow[];
    selected: TRow[];
    selectEnabled: boolean;
    selectionType: SelectionType;
    rowIdentity: any;
    selectCheck: (value: TRow, index: number, array: TRow[]) => boolean;
    disableCheck: (row: TRow) => boolean;
    activate: EventEmitter<ActivateEvent<TRow>>;
    select: EventEmitter<{
        selected: TRow[];
    }>;
    prevIndex: number;
    selectRow(event: KeyboardEvent | MouseEvent, index: number, row: TRow): void;
    onActivate(model: ActivateEvent<TRow>, index: number): void;
    onKeyboardFocus(model: ActivateEvent<TRow>): void;
    focusRow(rowElement: HTMLElement, key: Keys): void;
    getPrevNextRow(rowElement: HTMLElement, key: Keys): any;
    focusCell(cellElement: HTMLElement, rowElement: HTMLElement, key: Keys, cellIndex: number): void;
    getRowSelected(row: TRow): boolean;
    getRowSelectedIdx(row: TRow, selected: any[]): number;
    static ɵfac: i0.ɵɵFactoryDeclaration<DataTableSelectionComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DataTableSelectionComponent<any>, "datatable-selection", never, { "rows": { "alias": "rows"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "selectEnabled": { "alias": "selectEnabled"; "required": false; }; "selectionType": { "alias": "selectionType"; "required": false; }; "rowIdentity": { "alias": "rowIdentity"; "required": false; }; "selectCheck": { "alias": "selectCheck"; "required": false; }; "disableCheck": { "alias": "disableCheck"; "required": false; }; }, { "activate": "activate"; "select": "select"; }, never, ["*"], true, never>;
}
