import { ElementRef, EventEmitter, OnInit } from '@angular/core';
import { ColDef, GetRowIdParams, GridOptions } from 'ag-grid-community';
import * as i0 from "@angular/core";
export declare abstract class AbstractListBox<T> implements OnInit {
    gridOptions: GridOptions;
    hiddenElement: ElementRef;
    _values: Array<T>;
    set values(newValues: Array<T>);
    get values(): Array<T>;
    rowDrag: boolean;
    isDisabled: boolean;
    _selectedItem: T;
    set selectedItem(value: T);
    get selectedItem(): T;
    selectedItemChange: EventEmitter<T>;
    multipleSelectedIDListChange: EventEmitter<any>;
    rowDragEnd: EventEmitter<any>;
    selectFirstItem: boolean;
    multipleSelection: boolean;
    showAll: boolean;
    hideChecks: boolean;
    protected _multipleSelectedItemList: Array<T>;
    private calculatedGridState;
    private scrollTimeout;
    set multipleSelectedItemList(value: Array<T>);
    get multipleSelectedItemList(): Array<T>;
    multipleSelectedItemListChange: EventEmitter<any>;
    protected constructor();
    protected abstract getIdField(level?: number): string;
    protected abstract getDescriptionField(level?: number): string;
    abstract getInstance(): T;
    ngOnInit(): void;
    protected getRowNodeId(item: GetRowIdParams): string | number | undefined;
    protected getColumnDefsWithOptions(): Array<any>;
    protected getCheckColumnWidth(): number;
    getAllFieldID(): number | string;
    getAllFieldDescription(): string;
    cleanSelection(): void;
    protected addSuppressSizeToFitToColumnsWithWidthDefined(colDefs: ColDef[]): void;
    doGridReady(event: any): void;
    private onBodyScroll;
    protected doAutoSizeManagement(event?: any): void;
    doGridSizeChanged(event: any): void;
    doClick(row: any): void;
    onRowSelected(event: any): void;
    onModelUpdated(pEvent: any): any;
    protected selectItemInGrid(): void;
    private selectionItemListToIDList;
    private unselectAllNodes;
    private unselectNodeAll;
    onRowDragEnd(event: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractListBox<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractListBox<any>, never, never, { "values": { "alias": "values"; "required": false; }; "rowDrag": { "alias": "rowDrag"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "selectedItem": { "alias": "selectedItem"; "required": false; }; "selectFirstItem": { "alias": "selectFirstItem"; "required": false; }; "multipleSelection": { "alias": "multipleSelection"; "required": false; }; "showAll": { "alias": "showAll"; "required": false; }; "hideChecks": { "alias": "hideChecks"; "required": false; }; "multipleSelectedItemList": { "alias": "multipleSelectedItemList"; "required": false; }; }, { "selectedItemChange": "selectedItemChange"; "multipleSelectedIDListChange": "multipleSelectedIDListChange"; "rowDragEnd": "rowDragEnd"; "multipleSelectedItemListChange": "multipleSelectedItemListChange"; }, never, never, false, never>;
}
