import { SearcherDialogParameters } from './searcher.dialog.parameters';
import { Observable } from 'rxjs';
import { IsFullWidthRowParams } from 'ag-grid-community';
import * as i0 from "@angular/core";
export declare abstract class AbstractSearcher<T> {
    id: number | string;
    multipleSelectedItemList: Array<T>;
    multipleSelection: boolean;
    treeSearcher: boolean;
    parentSelectable: boolean;
    useIdInMultipleSelectionGrid: boolean;
    protected constructor();
    abstract getDialogParameters(): SearcherDialogParameters<T>;
    abstract getData(valueToSearch: string, page: number, pageNumber: number, useCode?: boolean): Observable<Array<T>>;
    abstract getTotalItems(): number;
    abstract getColumnDefs(): Array<any>;
    hideHeader(): boolean;
    getPropertyToShow(): string;
    abstract getIdField(): string;
    abstract getCodeField(): string;
    abstract getDescriptionField(): string;
    abstract getTextForSearcherLabel(): string;
    abstract getTitleForDialog(): string;
    abstract getGridOptionsPreferencesPrefix(): string;
    getIsFullWidthRow(isFullWidthRowParams: IsFullWidthRowParams): boolean;
    getFullWidthCellRenderer(): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractSearcher<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractSearcher<any>, never, never, {}, {}, never, never, false, never>;
}
