import { OnDestroy, OnInit } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { CaseField } from '../../domain/definition/case-field.model';
import { FieldsUtils } from '../../services/fields/fields.utils';
import { PlaceholderService } from './services/placeholder.service';
import { RpxTranslatePipe, RpxTranslationService } from 'rpx-xui-translation';
import * as i0 from "@angular/core";
export declare class LabelSubstitutorDirective implements OnInit, OnDestroy {
    private readonly fieldsUtils;
    private readonly placeholderService;
    private readonly rpxTranslationPipe;
    private readonly rpxTranslationService;
    caseField: CaseField;
    contextFields: CaseField[];
    formGroup: FormGroup;
    elementsToSubstitute: string[];
    private initialHintText;
    private languageSubscription;
    constructor(fieldsUtils: FieldsUtils, placeholderService: PlaceholderService, rpxTranslationPipe: RpxTranslatePipe, rpxTranslationService: RpxTranslationService);
    ngOnInit(): void;
    private applySubstitutions;
    private onLanguageChange;
    private resetToInitialValues;
    ngOnDestroy(): void;
    private shouldSubstitute;
    private getReadOnlyAndFormFields;
    private removeDuplicates;
    private getFormFieldsValuesIncludingDisabled;
    private resolvePlaceholders;
    static ɵfac: i0.ɵɵFactoryDeclaration<LabelSubstitutorDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LabelSubstitutorDirective, "[ccdLabelSubstitutor]", never, { "caseField": { "alias": "caseField"; "required": false; }; "contextFields": { "alias": "contextFields"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "elementsToSubstitute": { "alias": "elementsToSubstitute"; "required": false; }; }, {}, never, never, false, never>;
}
//# sourceMappingURL=label-substitutor.directive.d.ts.map