import { EventEmitter, TemplateRef, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
import { SelectConfig, OptionsStyles } from './select.config';
import { ControlValueAccessor } from '@angular/forms';
import { OverlayComponent } from '../overlay';
import { Placement } from '../util/position';
import { BUTTON_THEME, BUTTON_SIZE } from '../button';
import { OverlayOriginDirective } from '../overlay/overlay-origin.directive';
export declare class SelectComponent implements ControlValueAccessor, OnInit, OnDestroy {
    private cd;
    origin: OverlayOriginDirective;
    overlay: OverlayComponent;
    datasource: SelectConfig[];
    theme: BUTTON_THEME;
    size: BUTTON_SIZE;
    defaultLabel: string;
    searchable: boolean;
    disabled: boolean;
    value: number | null | undefined;
    optionTpl: TemplateRef<any>;
    onChange: EventEmitter<SelectConfig>;
    onPanelShow: EventEmitter<Object>;
    onPanelHide: EventEmitter<Object>;
    direction: string;
    selectedData: SelectConfig;
    styles: OptionsStyles;
    protected expanded: boolean;
    protected windowResizeListener: Function | null;
    protected onModelChange: Function;
    protected onModelTouched: Function;
    placement: Placement;
    constructor(cd: ChangeDetectorRef);
    ngOnInit(): void;
    onToggle(): void;
    show(): void;
    hide(): void;
    toggleOverlay(): void;
    changeState(): void;
    onSelectedOption(data: SelectConfig): void;
    clear(): void;
    bindEvents(): void;
    unbindEvents(): void;
    setSelectedData(): void;
    writeValue(value: number): void;
    registerOnChange(fn: Function): void;
    registerOnTouched(fn: Function): void;
    /**
     * Toggles the disabled state of the component. Implemented as part of ControlValueAccessor.
     * @param isDisabled Whether the component should be disabled.
     */
    setDisabledState(isDisabled: boolean): void;
    onClosePanel(_panel: any): void;
    ngOnDestroy(): void;
}
