import { PermissionChecker } from '../../service';
import { Localization } from '../../localization';
import { VariableCommunicator, VariableState } from '../../communication';
import { ConditionalDynamicDisplayElement } from './conditional-dynamic-display-element';
import { State } from '../../model';
import { VariableStore } from '../../config';
export declare abstract class StateControlElement extends ConditionalDynamicDisplayElement {
    protected readonly localization: Localization;
    isEnable: boolean;
    elementStates: VariableState[];
    state: State;
    private currentRect;
    preState: State;
    constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, localization: Localization, signalRAppId: string);
    initState(): void;
    updateElementStates(newElementStates: VariableState[]): void;
    addElementState(newElementState: VariableState): void;
    changeStates(): void;
    getState(elementState: VariableState): State;
    changeState(state: State): void;
    loadStateData(state: State): void;
    private setState;
    private clearTip;
}
