import { Observable } from 'rxjs/Observable'; import { ComboFacadeService } from './combo-facade.service'; import { ComboPanelComponent } from './combo-panel.component'; import { OnInit, AfterViewInit, ElementRef, NgZone, Renderer2, OnDestroy, EventEmitter, ChangeDetectorRef } from '@angular/core'; import { InputGroupComponent } from '../input-group'; import { ComboStateService } from './combo-state.service'; import { ControlValueAccessor } from '@angular/forms'; import { ComboPanelAlign, ComboPanelState } from './types'; export declare const INPUT_COMBO_VALUE_ACCESSOR: any; export declare class ComboComponent implements OnInit, AfterViewInit, OnDestroy, ControlValueAccessor { el: ElementRef; zone: NgZone; render: Renderer2; cd: ChangeDetectorRef; cmbFacade: ComboFacadeService; cmbState: ComboStateService; groupIcon: string; hostStyle: string; panelWidth: number; panelHeight: number; data: any; disable: boolean; editable: boolean; readonly: boolean; displayText: string; /** panel 对齐方式 * - left: 与输入框左对齐 * - right: 右对齐 * - both: 两端对齐,与输入框宽度相同 */ panelAlign: ComboPanelAlign; beforeOpen: (ins) => Observable; beforeHide: (ins) => Observable; opened: EventEmitter<{}>; hided: EventEmitter<{}>; clear: EventEmitter<{}>; valueChange: EventEmitter<{}>; input: InputGroupComponent; _cmbPanel: ComboPanelComponent; cmbPanel: ComboPanelComponent; panel$: Observable; disable$: Observable; readonly$: Observable; editable$: Observable; private documentClickEvent; isOpen: boolean; private _subscriptions; onModelChange: Function; onModelTouched: Function; constructor(el: ElementRef, zone: NgZone, render: Renderer2, cd: ChangeDetectorRef, cmbFacade: ComboFacadeService, cmbState: ComboStateService); ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; private initComboState(); private removeDocumentListener(); private setPanelSize(rect); onResize(event: any): void; onBlur(event: any): void; onClick(): void; onMouseOver(isShowClearBtn: boolean): void; onClear(): void; onValueChanged(val: any): void; setDisable(val?: boolean): void; setReadonly(val?: boolean): void; setEditable(val?: boolean): void; focus(): void; writeValue(obj: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState?(isDisabled: boolean): void; }