import { EventEmitter, AfterViewInit, OnDestroy, ElementRef } from '@angular/core';
import { FVAbstractControl } from '../../shared/abstract-control.component';
import { ValidationService } from '../../../services/validation.service';
import { DGSNotificationService } from '@dotgov/core';
import { ProcessService } from '../../../services/process.service';
import { Dock, DockItem } from '../../../models';
/**
 * @Author [GrigoreMe](https://github.com/grigoreme)
 */
export declare class FVNavigatorComponent extends FVAbstractControl implements AfterViewInit, OnDestroy {
    private process;
    private notification;
    private validation;
    private elRef;
    loading: boolean;
    showModal: boolean;
    isGrouped: boolean;
    addBtn: {
        listeners: {
            click: string;
        }[];
    };
    cancelBtn: {
        listeners: {
            click: string;
        }[];
    };
    private __task;
    private _dock;
    private _items;
    private _dockType;
    set dock(dock: Dock[]);
    firstLevel: boolean;
    private _isGrid;
    set isGrid(isGrid: boolean);
    private _gridItem;
    set gridItem(gridItem: any);
    set type(type: string);
    customSubmit: boolean;
    onDone: EventEmitter<any>;
    onMenuItemClicked: EventEmitter<any>;
    onNavigation: EventEmitter<DockItem>;
    onNavigationError: EventEmitter<any>;
    constructor(process: ProcessService, notification: DGSNotificationService, validation: ValidationService, elRef: ElementRef);
    ngAfterViewInit(): void;
    onClick(item: DockItem, forced?: boolean): Promise<any>;
    getClickListener(item: DockItem): {
        click?: string;
    };
    btnClass(btn: any, isMultiple?: boolean): string;
    isClickable(selector: any): boolean;
    /**
     * Returns debug text for current component.
     */
    toString(): string;
    hideTooltip(tooltip: any): void;
    get debugData(): {
        isGrid: boolean;
        type: string;
        pristine: boolean;
        isFirstLevel: boolean;
    };
    get pristine(): boolean;
    get pristineError(): string;
    get containerClass(): string;
    get items(): any;
    get dockType(): string;
    get dock(): Dock[];
    get isGrid(): boolean;
    get gridItem(): any;
    private cancel;
    private save;
    private saveClose;
    private closeUndefined;
    private doAction;
    private evalOnSave;
    private _finally;
    ngOnDestroy(): void;
}
