import { EventEmitter, AfterViewInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
import { ProcessService } from '../../services/process.service';
import { Task, Dock, FVDoneResponse } from '../../models';
import { ApiService, DGSNotificationService } from '@dotgov/core';
import { TabsetComponent } from 'ngx-bootstrap/tabs';
import { ObjectLiteral } from '../../models/objectLiteral';
/**
 * @Author [GrigoreMe](https://github.com/grigoreme)
 */
export declare class FVRendererComponent implements AfterViewInit, OnDestroy {
    private process;
    private ref;
    private api;
    private notification;
    error: string;
    showBuilder: boolean;
    builderTask: any;
    builderModels: any;
    showPreview: boolean;
    previewBuilderTask: any;
    previewBuilderModels: any;
    private subscriptions;
    private _canRunBuilder;
    private _parentTask;
    private _activeTask;
    private _task;
    private _localLoading;
    private _disabled;
    private _hideName;
    loading: boolean;
    firstLevel: boolean;
    set parentTask(parentTask: Task);
    set task(task: Task);
    set hideName(should: boolean);
    set disabled(disabled: boolean);
    customSubmit: boolean;
    onDone: EventEmitter<FVDoneResponse>;
    onLoaded: EventEmitter<any>;
    titleUpdated: EventEmitter<string>;
    taskUpdated: EventEmitter<Task>;
    cancel: EventEmitter<any>;
    submit: EventEmitter<any>;
    tabset: TabsetComponent;
    formRenderer: any;
    formContainer: any;
    constructor(process: ProcessService, ref: ChangeDetectorRef, api: ApiService, notification: DGSNotificationService);
    ngAfterViewInit(): void;
    updateTitle(title: any): void;
    loadPreview(previewData: any): void;
    updateFormGroup(event: any): void;
    _onDone(response: FVDoneResponse): void;
    _onErrors(errors: ObjectLiteral): void;
    openBuilder(): Promise<void>;
    hideBuilder(): void;
    hidePreview(): void;
    onBuilderSave({ models, task }: {
        models: any;
        task: any;
    }): void;
    get isGrid(): boolean;
    get hideName(): boolean;
    get loadingStatus(): boolean;
    get disabled(): boolean;
    get dockedTop(): Dock[];
    get dockedBottom(): Dock[];
    get docked(): Dock[];
    get parentTask(): Task;
    get task(): Task;
    get stateId(): string;
    get processId(): string;
    get canRunBuilder(): boolean;
    get progressPercentage(): string;
    private get form();
    private scrollToTop;
    /**
     * Execute CB out of angular context.
     * @param cb
     */
    private hackLook;
    private evalOnLoad;
    ngOnDestroy(): void;
}
