import { EventEmitter, ElementRef, DoCheck, QueryList, AfterViewInit, OnDestroy } from '@angular/core';
import { Validator, FormControl, ControlValueAccessor } from '@angular/forms';
import { MatMenuTrigger } from '@angular/material/menu';
import { GrwitOption } from './option/option';
import { MatSelectionList } from '@angular/material/list';
export declare class GrwitSelect implements Validator, DoCheck, ControlValueAccessor, AfterViewInit, OnDestroy {
    clearAllText: string;
    selectedItemCountText: string;
    searchBoxPlaceholder: string;
    dropdownButtonText: string;
    quickSelectCheckboxLabel: string;
    _multiple: any;
    multiple: boolean;
    _enableSearch: any;
    searchable: boolean;
    _value: any;
    value: any;
    /** Placeholder to be shown if no value has been selected. */
    placeholder: string;
    protected _placeholder: any;
    /** Whether the component is required. */
    required: boolean;
    protected _required: any;
    selected: any[];
    queryableOptions: any[];
    filterQuery: any;
    _changesSubscription: any;
    valueChange: EventEmitter<any>;
    change: EventEmitter<any>;
    options: QueryList<GrwitOption>;
    filteredOptions: GrwitOption[];
    dropdownListRef: MatMenuTrigger;
    menuWrapper: ElementRef;
    buttonWrapper: ElementRef;
    optionList: MatSelectionList;
    writeValue(value: any): void;
    readonly allOptionsSelected: boolean;
    readonly someOptionsSelected: boolean;
    readonly isMultiSelectList: boolean;
    readonly isMultiSelectListWithSearch: boolean;
    readonly isSelectionCountVisible: boolean;
    readonly dropdownText: string;
    onChange: (_: any) => void;
    onTouched: () => void;
    registerOnChange(fn: (_: any) => void): void;
    registerOnTouched(fn: () => void): void;
    ngDoCheck(): void;
    validate(c: FormControl): any;
    optionListOpen($event: any): void;
    isSelected(value: any): boolean;
    itemSelectionChanged($event: any): void;
    searchBoxFocused($event: any): void;
    openList($event: any): void;
    closeList(): void;
    open(): void;
    clearAllSelected($event: any): void;
    handleSelectAllCheckboxClick($event: any): void;
    ngAfterViewInit(): void;
    keyPressed($event: any): void;
    populateQueryListOptions(): void;
    filterList($event: any): void;
    ngOnDestroy(): void;
}
