import { ElementRef, EventEmitter, QueryList } from '@angular/core';
import { ControlValueAccessor, FormControl, ValidationErrors, Validator } from '@angular/forms';
import { SmartSelectOptionComponent } from './smart-select-options.component';
import * as i0 from "@angular/core";
export declare class SmartSelectComponent implements ControlValueAccessor, Validator {
    private el;
    options: QueryList<SmartSelectOptionComponent> | undefined;
    onChange: EventEmitter<{
        type: string;
        value: any;
    }>;
    inputId: string;
    inputName?: string;
    IconMaterial: string;
    placeholder: string;
    label: string;
    showError: boolean;
    showSearch: boolean;
    placeholderSearch: string;
    textEmpty: string;
    multiSelect: boolean;
    showMaxSelectedLabel: number;
    typePrefix: 'checkbox' | 'radio' | null;
    required: boolean;
    limitView?: number;
    formControlName: any | undefined;
    isMobile: boolean;
    formValue: any;
    isFocused: boolean;
    preventEscapeFocus: boolean;
    autocompleteControl: FormControl<any>;
    filteredOptions: any[];
    showList: boolean;
    constructor(el: ElementRef);
    onTouched: () => void;
    ngOnInit(): void;
    writeValue(obj: any): void;
    validate(_control: FormControl): ValidationErrors | null;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    get hasError(): boolean;
    setDisabledState?(isDisabled: boolean): void;
    onFocusIn(focus?: boolean): void;
    private focusSearchElementor;
    positionBox(): void;
    onSelect(option?: any): void;
    get selectedLabel(): string;
    get selectedLabelMulti(): {
        value: string;
        label: string;
    }[];
    private valueToArray;
    private compareValueArray;
    private compareMultiValuesArray;
    get selectedLabelMultiCount(): number;
    removeItem(option: any): void;
    onKeyPress(event: any): void;
    onFilter(event: any): void;
    onResize(): void;
    onFocusOut(): void;
    closeList(): void;
    selectedValue(option: {
        value: any;
        label: string;
        safeHtmlContent: any;
    }): any;
    loadMore(): void;
    private renderBoxOptions;
    private normalizeText;
    static ɵfac: i0.ɵɵFactoryDeclaration<SmartSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SmartSelectComponent, "wco-smart-select", never, { "inputId": { "alias": "inputId"; "required": false; }; "inputName": { "alias": "inputName"; "required": false; }; "IconMaterial": { "alias": "IconMaterial"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "label": { "alias": "label"; "required": false; }; "showError": { "alias": "showError"; "required": false; }; "showSearch": { "alias": "showSearch"; "required": false; }; "placeholderSearch": { "alias": "placeholderSearch"; "required": false; }; "textEmpty": { "alias": "textEmpty"; "required": false; }; "multiSelect": { "alias": "multiSelect"; "required": false; }; "showMaxSelectedLabel": { "alias": "showMaxSelectedLabel"; "required": false; }; "typePrefix": { "alias": "typePrefix"; "required": false; }; "required": { "alias": "required"; "required": false; }; "limitView": { "alias": "limitView"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; }, { "onChange": "onChange"; }, ["options"], never, true, never>;
}
//# sourceMappingURL=smart-select.component.d.ts.map