import { DefaultControlValueAccessor } from './../common/default-control-value-accessor';
import { OnInit, OnChanges, Renderer2, ElementRef } from '@angular/core';
import { AsiComponentTemplateOptionDef, AsiComponentTemplateEmptyDef, AsiComponentTemplateSelectedDef } from '../common/asi-component-template';
export declare class AsiSelectComponent extends DefaultControlValueAccessor implements OnInit, OnChanges {
    private renderer;
    private elementRef;
    /** Label to display (is translated) */
    label: string;
    /** Label position */
    labelPosition: 'top' | 'left' | 'right' | 'bottom' | 'bottom-center' | 'top-center';
    /** Data to display  */
    data: Array<any>;
    /** Multi selection  */
    multiple: boolean;
    /** Track data base on a sub attribute rather than reference  */
    trackBy: string;
    /** Add an empty value (template must be define) */
    withEmptyValue: boolean;
    optionDef: AsiComponentTemplateOptionDef;
    emptyDef: AsiComponentTemplateEmptyDef;
    selectedDef: AsiComponentTemplateSelectedDef;
    selectDatas: Array<any>;
    open: boolean;
    allChecked: boolean;
    constructor(renderer: Renderer2, elementRef: ElementRef);
    ngOnInit(): void;
    onDropdownClose(): void;
    isOpened(): boolean;
    ngOnChanges(): void;
    private initData();
    checkAll(value: any): void;
    updateAllChecked(): void;
    selectValue(event: MouseEvent, data: any): void;
    private internalSelectValue(event, data);
    toggleSelect(): void;
    writeValue(value: any): void;
    onModelChange(value: any): void;
    private manageHasValue();
}
