import { ControlValueAccessor, NgControl } from '@angular/forms';
import { AlSelectItem } from '../types';
import * as i0 from "@angular/core";
export declare class AlDropdownListComponent<T> implements ControlValueAccessor {
    control: NgControl;
    placeholder: string;
    options: AlSelectItem<T>[];
    readonly: boolean;
    value: T[] | null;
    isDisabled: boolean;
    constructor(control: NgControl);
    onChangeFn: (value: T[]) => void;
    onTouchFn: () => void;
    /**
     * Function which triggers when an item is selected from the dropdown list
     * @param event The prime-ng event with the selected items and the last changed item
     **/
    selectOption(event: any): void;
    writeValue(value: T[]): void;
    registerOnChange(fn: (value: T[] | null) => void): void;
    registerOnTouched(fn: () => void): void;
    setDisabledState?(isDisabled: boolean): void;
    get invalid(): boolean;
    static ɵfac: i0.ɵɵFactoryDef<AlDropdownListComponent<any>, [{ optional: true; self: true; }]>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<AlDropdownListComponent<any>, "al-dropdown-list", never, { "placeholder": "placeholder"; "options": "options"; "readonly": "readonly"; }, {}, never, never>;
}
