import { ChangeDetectorRef, OnInit, Injector } from '@angular/core';
import { ListBoxOption } from './entities/list-box-option';
import { ControlValueAccessor } from '@angular/forms';
import { ListBoxModes } from './entities/list-box-modes';
import { IconData } from '@ironsource/fusion-ui/components/icon/common/entities';
import * as i0 from "@angular/core";
export declare abstract class ListBoxBaseComponent implements OnInit, ControlValueAccessor {
    protected injector: Injector;
    protected cdr: ChangeDetectorRef;
    options: ListBoxOption[];
    isDisabled: boolean;
    mappingOptions: any;
    id: number | string;
    mode: ListBoxModes;
    title: string;
    set disabled(value: boolean);
    checkIconName: IconData;
    removeIconName: IconData;
    constructor(injector: Injector, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    trackByOption(index: any, option: any): any;
    removeOption(item: any, $event: any): void;
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(): void;
    propagateChange: (_: ListBoxOption[]) => void;
    setDisabledState(isDisabled: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ListBoxBaseComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ListBoxBaseComponent, never, never, { "mappingOptions": { "alias": "mappingOptions"; "required": false; }; "id": { "alias": "id"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "title": { "alias": "title"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
}
