import { AfterViewInit, ChangeDetectorRef, OnDestroy, QueryList } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { SdBaseSecureComponent } from '@sd-angular/core/components/base';
import { Subject } from 'rxjs';
import { ISdWorkflowConfiguration } from '../../configurations';
import { SdFormRenderConfiguration } from '../../models';
import { SdFormGenericValidation } from '../../models/form-generic-validation.model';
import { LibItemComponent } from './components';
import * as i0 from "@angular/core";
export declare class SdFormRender extends SdBaseSecureComponent implements OnDestroy, AfterViewInit {
    #private;
    private ref;
    private workflowConfiguration;
    formRenderItems: QueryList<LibItemComponent>;
    form: FormGroup;
    configuration: SdFormRenderConfiguration;
    set _configuration(val: SdFormRenderConfiguration);
    set _default(defaultEntity: Record<string, any>);
    entity: Record<string, any>;
    set _entity(val: Record<string, any>);
    properties: string[];
    set _properties(val: string[]);
    viewed: boolean;
    set _viewed(val: boolean | '');
    loadCompleted: boolean;
    hashedValues?: string;
    formValue: Record<string, any>;
    setVariables: Subject<{
        key: string;
        value: any;
    }>;
    constructor(ref: ChangeDetectorRef, workflowConfiguration: ISdWorkflowConfiguration);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    upload: () => Promise<void>;
    getValidationMessages: (alert: SdFormGenericValidation["alert"]) => Promise<string[] | undefined>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdFormRender, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SdFormRender, "sd-form-render", never, { "form": { "alias": "form"; "required": false; }; "_configuration": { "alias": "configuration"; "required": true; }; "_default": { "alias": "defaultEntity"; "required": false; }; "_entity": { "alias": "entity"; "required": false; }; "_properties": { "alias": "properties"; "required": false; }; "_viewed": { "alias": "viewed"; "required": false; }; }, {}, never, never, true, never>;
}
