import { AfterViewInit, ElementRef, OnDestroy } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { CaseField } from '../../domain/definition/case-field.model';
import { ShowCondition } from './domain/conditional-show.model';
import { FieldsUtils } from '../../services/fields/fields.utils';
import { ConditionalShowRegistrarService } from './services/conditional-show-registrar.service';
import { GreyBarService } from './services/grey-bar.service';
import { ElementShowHideService } from './services';
export declare class ConditionalShowDirective implements AfterViewInit, OnDestroy {
    private el;
    private fieldsUtils;
    private registry;
    private greyBarService;
    private elementShowHideService;
    caseField: CaseField;
    idPrefix: string;
    contextFields: CaseField[];
    formGroup: FormGroup;
    greyBarEnabled: boolean;
    complexFormGroup: FormGroup;
    condition: ShowCondition;
    private formChangesSubscription;
    formField: any;
    constructor(el: ElementRef, fieldsUtils: FieldsUtils, registry: ConditionalShowRegistrarService, greyBarService: GreyBarService, elementShowHideService: ElementShowHideService);
    ngAfterViewInit(): void;
    refreshVisibility(): void;
    ngOnDestroy(): void;
    private subscribeToFormChanges;
    /**
     * returns whether the field visibility has changed, or undefined if not
    */
    private updateVisibility;
    private onHide;
    private onShow;
    private hideField;
    private showField;
    private shouldToggleToHide;
    private shouldToggleToShow;
    private buildPath;
    private getCurrentPagesReadOnlyAndFormFieldValues;
    private getFormFieldsValuesIncludingDisabled;
    private isHidden;
    private unsubscribeFromFormChanges;
    private checkHideShowCondition;
    private updateGreyBar;
}
