import { LoggerService } from '../../../logger';
import { TextLibrarySetting } from '../../../model/base/font-setting-model';
import { IndicatorLightFaultFlicker } from '../../../model/switch-indicator-light/indicator-light-fault-flicker';
import { TextLibraryService, LanguageService } from '../../../service';
import { TextState } from './text-state.model';
import { GuiContext } from '../../../gui/gui-context';
export declare class TextStateElement {
    private readonly textStates;
    private width;
    private readonly height;
    private readonly logger;
    private readonly version?;
    private readonly faultFlickers?;
    private readonly textLibrarySetting?;
    private readonly textLibraryService?;
    private readonly languageService?;
    private readonly guiContext?;
    private textElement;
    private _element;
    get Element(): SVGElement;
    private faultFlickerStatus;
    private faultFlickerInterval;
    private currentStateId;
    private languageChangeSubscription?;
    constructor(textStates: TextState[], width: number, height: number, logger: LoggerService, version?: number, faultFlickers?: IndicatorLightFaultFlicker[], textLibrarySetting?: TextLibrarySetting, textLibraryService?: TextLibraryService, languageService?: LanguageService, guiContext?: GuiContext);
    switchToState(stateId: number): void;
    /**
     * 订阅语种变化事件
     * 当设备的语种ID改变时，重新渲染当前状态的文本
     */
    private subscribeLanguageChange;
    /**
     * 释放资源
     */
    dispose(): void;
    private getforeignObjectElement;
    private removeForeignObjectlement;
    private doFaultFlicker;
    private clearFlickerInterval;
    /**
     * 获取显示文本
     * 如果配置了文本库，则根据状态ID和当前语种ID从文本库中获取对应语种的文本
     * 否则返回默认文本
     */
    private getDisplayText;
}
