import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import { ControlValueAccessor, FormControl } from '@angular/forms';
import { InputComponent } from '@ironsource/fusion-ui/components/input/v1';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
export declare abstract class DropdownSearchBaseComponent implements OnInit, OnDestroy, ControlValueAccessor {
    protected elementRef: ElementRef;
    autoComplete: boolean;
    search: boolean;
    placeholder: string;
    inputComponent: InputComponent;
    searchValue: FormControl<any>;
    onDestroy$: Subject<void>;
    get searchInOptions(): boolean;
    constructor(elementRef: ElementRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     * Method to call when the component value has changes.
     */
    propagateChange: (_: string) => void;
    /**
     * update value from model to the component
     */
    writeValue(value: string): void;
    registerOnChange(fn: any): void;
    registerOnTouched(): void;
    setDisabledState?(isDisabled: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DropdownSearchBaseComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownSearchBaseComponent, never, never, { "autoComplete": { "alias": "autoComplete"; "required": false; }; "search": { "alias": "search"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; }, {}, never, never, false, never>;
}
