import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { TraxService } from '../../services/trax.service';
import * as i0 from "@angular/core";
export declare class ReactiveSelectComponent implements ControlValueAccessor, OnInit {
    private apiService;
    private cd;
    private onTouched;
    private onChanged;
    isDisabled: boolean;
    idField: string;
    nameField: string;
    label: string;
    data: any;
    itemChange: EventEmitter<any>;
    protected isOpened: boolean;
    protected selected: Record<string, any> | null;
    protected selectedId: string | number;
    instanceId: string;
    constructor(apiService: TraxService, cd: ChangeDetectorRef);
    ngOnInit(): void;
    writeValue(val: string | number): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    onSelect(item: Record<string, any>): void;
    onClick(event: MouseEvent): void;
    isComponentClicked(targetElement: HTMLElement): boolean;
    openDropdown(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ReactiveSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ReactiveSelectComponent, "lib-reactive-select", never, { "isDisabled": { "alias": "isDisabled"; "required": false; }; "idField": { "alias": "idField"; "required": false; }; "nameField": { "alias": "nameField"; "required": false; }; "label": { "alias": "label"; "required": false; }; "data": { "alias": "data"; "required": false; }; }, { "itemChange": "itemChange"; }, never, never, false, never>;
}
