import { Injector } from '@angular/core';
import { PermissionChecker, SystemTextLibraryService, LanguageService } from '../../service';
import { VariableCommunicator } from '../../communication';
import { ConditionalDisplayElement } from '../base/conditional-display-element';
import { AlarmModel } from '../../model/alarm/alarm.model';
import { AlarmsStore, VariableStore } from '../../config';
import { GuiContext } from '../../gui/gui-context';
export declare class AlarmElement extends ConditionalDisplayElement {
    private readonly alarmsStore;
    private readonly systemTextLibraryService?;
    private readonly languageService?;
    private readonly guiContext?;
    readonly model: AlarmModel;
    private readonly logger;
    readonly variableCommunicator: VariableCommunicator;
    private timePeriods;
    private languageChangeSubscription?;
    private elementStatus;
    private element;
    private refreshIntervalId;
    private readonly displayOption;
    private alarmNames;
    private startTime;
    private endTime;
    private currentTimePeriod;
    private alarmList;
    private currentAlarmList;
    private page;
    private totalCount;
    private pageSize;
    private getAlarmDataId;
    constructor(element: HTMLElement, injector: Injector, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, alarmsStore: AlarmsStore, signalRAppId: string, systemTextLibraryService?: SystemTextLibraryService, languageService?: LanguageService, guiContext?: GuiContext);
    dispose(): void;
    /**
     * 订阅语种变化事件
     */
    private subscribeLanguageChange;
    /**
     * 更新语种相关的文案（表头和时间段选择器）
     */
    private updateLanguageTexts;
    /**
     * 获取当前语种的 culture 代码
     */
    private getCurrentCulture;
    /**
     * 根据列索引获取表头翻译（从系统文本库获取多语种翻译）
     * 固定4项表头，按列索引顺序：告警名称、告警内容、告警等级、时间
     */
    private getHeaderTextByColumn;
    private getValidTimePeriods;
    /**
     * 获取时间段文案（从系统文本库获取多语种翻译）
     */
    private getTimePeriodText;
    private getAlarmData;
    private renderElement;
    private renderOperationArea;
    private updateTimeRange;
    private updateQueryTimeRange;
    private loadFirstPage;
    private loadNextPage;
    private loadPreviousPage;
    private loadLastPage;
    private setStatusAsNormal;
    private setStatusAsLoading;
    private renderStatus;
    private clearStatus;
}
