import { ChangeDetectorRef, EventEmitter, OnChanges, SimpleChanges } from '@angular/core'; import { NgModel } from '@angular/forms'; import { I18nValue } from '@gspwidget/util'; import { TranslateService } from '@ngx-translate/core'; /** 支持的语言 */ export declare class Lang { code: string; name: string; constructor(code: string, name: string); } export declare class I18N_INPUT_CONFIG { langs: Promise | Lang[]; } /** * 当前控件返回的 value,是一个新引用吗? * 还是原引用,更改了内部值? * 本来用了前者。现在打算改为后面的试试,还没改。 */ export declare class I18nInputComponent implements OnChanges { translate: TranslateService; cd: ChangeDetectorRef; config: I18N_INPUT_CONFIG; placeholder: string; /** TODO: 会变,待处理 */ value: I18nValue | string; required: boolean; maxLength: boolean; valueChangeOnBlur: boolean; valueChange: EventEmitter; mainInput: NgModel; valid: boolean; innerValue: I18nValue; tempValue: I18nValue; curLang: string; showingDropdown: boolean; langs: Lang[]; orderedLangs: any; constructor(translate: TranslateService, cd: ChangeDetectorRef, config: I18N_INPUT_CONFIG); ngAfterViewInit(): void; setLangs(langs: Lang[]): void; /** 改变顺序。待改进,因为只有调了它可以更新 html */ setMainLang(lang: string): void; ngOnChanges(changes: SimpleChanges): void; handleInputChange(): void; handleConfirm(): void; handleCancel(): void; }