import { ConditionalDisplayModel } from '../../model';
import { VariableCommunicator } from '../../communication';
import { BaseElement } from './base-element';
import { VariableStore } from '../../config';
import { PermissionChecker } from '../../service/permission-checker';
export declare abstract class ConditionalDisplayElement extends BaseElement {
    protected readonly permissionChecker: PermissionChecker;
    protected readonly variableCommunicator: VariableCommunicator;
    protected readonly variableStore: VariableStore;
    protected abstract readonly model: ConditionalDisplayModel;
    constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, signalRAppId: string);
    private initDisplay;
    private checkDisplayConditionAndPermission;
    private updateVisibilityByCondition;
    private updateVisibilityByPermission;
    /**
     * Hide this element
     */
    hide(): void;
    /**
     * Show this element
     */
    show(): void;
}
