import { ConditionalEnableModel } from '../../model';
import { PermissionChecker } from '../../service';
import { Localization } from '../../localization';
import { VariableCommunicator } from '../../communication';
import { StateControlElement } from './state-control-element';
import { VariableStore } from '../../config';
export declare abstract class ConditionalEnableElement extends StateControlElement {
    protected readonly permissionChecker: PermissionChecker;
    protected readonly variableCommunicator: VariableCommunicator;
    protected readonly variableStore: VariableStore;
    protected readonly localization: Localization;
    protected abstract readonly model: ConditionalEnableModel;
    isGrantedPermission: boolean;
    isInitialized: boolean;
    constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, localization: Localization, signalRAppId: string);
    private initialize;
    private updateEnableStateByConditionAndPermission;
    private updateEnableStateByCondition;
    private updateEnableStateByPermission;
    private setEnableByConditionOrPermission;
}
