import { EventEmitter, OnInit, QueryList } from '@angular/core';
import { ClrQuickListValue } from './add-option.service';
import { ClrAddOption } from './add-option';
import { ClrAbstractFormComponent } from '../abstract-form-component/abstract-form-component';
import * as i0 from "@angular/core";
export declare class ClrQuickList<T> extends ClrAbstractFormComponent implements OnInit {
    blankOption: ClrQuickListValue<T>;
    allValues: ClrQuickListValue<T>[];
    mandatory: boolean;
    values: ClrQuickListValue<T>[];
    addLabel: string;
    controlClasses: string;
    readonly: string;
    compactMode: boolean;
    valuesChanged: EventEmitter<ClrQuickListValue<T>[]>;
    emptyOptionAdded: EventEmitter<void>;
    options: QueryList<ClrAddOption<T>>;
    ngOnInit(): void;
    writeValue(value: ClrQuickListValue<T>[]): void;
    getEmptyValues(): ClrQuickListValue<T>[];
    onValueChanged(value: ClrQuickListValue<T>, i: number): void;
    onRemoveValue(i: number): void;
    addBlankOption(): void;
    emitValueChanged(): void;
    focusOption(option: ClrQuickListValue<T>): void;
    hasBlankOption(): boolean;
    addNotPossible(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<ClrQuickList<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ClrQuickList<any>, "clr-quick-list", never, { "blankOption": { "alias": "clrBlankOption"; "required": false; }; "allValues": { "alias": "clrAllValues"; "required": false; }; "mandatory": { "alias": "clrMandatory"; "required": false; }; "values": { "alias": "clrValues"; "required": false; }; "addLabel": { "alias": "clrAddLabel"; "required": false; }; "controlClasses": { "alias": "clrControlClasses"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "compactMode": { "alias": "compactMode"; "required": false; }; }, { "valuesChanged": "clrValuesChanged"; "emptyOptionAdded": "clrEmptyOptionAdded"; }, never, ["label"], false, never>;
}
