import { EventEmitter, OnInit } from '@angular/core';
import { DialogService } from '../modal/dialog/dialog.service';
import { AbstractSearcher } from './abstract-searcher';
import { SearcherDialogParameters } from './searcher.dialog.parameters';
import * as i0 from "@angular/core";
export declare abstract class AbstractGenericSearcherComponent<T> implements OnInit {
    dialogService: DialogService;
    abstractSearcher: AbstractSearcher<T>;
    searcherDialogParameters: SearcherDialogParameters<T>;
    multipleSelection: boolean;
    isDisabled: boolean;
    _id: number | string;
    protected _multipleSelectedItemList: Array<T>;
    get multipleSelectedItemList(): Array<T>;
    set multipleSelectedItemList(value: Array<T>);
    multipleSelectedItemListChange: EventEmitter<any>;
    set id(value: number | string);
    get id(): number | string;
    _description: string;
    set description(value: string);
    get description(): string;
    _code: string;
    set code(value: string);
    get code(): string;
    idChange: EventEmitter<any>;
    descriptionChange: EventEmitter<any>;
    codeChange: EventEmitter<any>;
    selectedHasChanged: EventEmitter<any>;
    protected constructor(dialogService: DialogService, abstractSearcher: AbstractSearcher<T>);
    ngOnInit(): void;
    openSearchDialog(): void;
    upDateField(value: T): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractGenericSearcherComponent<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractGenericSearcherComponent<any>, never, never, { "multipleSelection": { "alias": "multipleSelection"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "multipleSelectedItemList": { "alias": "multipleSelectedItemList"; "required": false; }; "id": { "alias": "id"; "required": false; }; "description": { "alias": "description"; "required": false; }; "code": { "alias": "code"; "required": false; }; }, { "multipleSelectedItemListChange": "multipleSelectedItemListChange"; "idChange": "idChange"; "descriptionChange": "descriptionChange"; "codeChange": "codeChange"; "selectedHasChanged": "selectedHasChanged"; }, never, never, false, never>;
}
