import { ReadableModel } from '../../model';
import { VariableCommunicator, VariableValue, VariableState } from '../../communication';
import { ConditionalEnableElement } from './conditional-enable-element';
import { PermissionChecker } from '../../service';
import { Localization } from '../../localization';
import { VariableStore } from '../../config';
export declare abstract class ReadableElement extends ConditionalEnableElement {
    protected abstract model: ReadableModel;
    constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, localization: Localization, signalRAppId: string);
    init(variableName: string): void;
    get readVariableName(): string;
    get minVariableName(): string;
    get minValueType(): any;
    get maxVariableName(): string;
    get maxValueType(): any;
    private getVariableName;
    protected abstract updateVariableValue(value: any, variableName: any): void;
    reportStateChanged(variableState: VariableState): void;
    reportValueChanged(value: VariableValue): void;
}
