import { OnDestroy, OnChanges } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { ContextService, ErrorService } from '@nakedobjects/services';
import { CollectionViewModel, DialogViewModel, DomainObjectViewModel, ListViewModel, MenuViewModel, ParameterViewModel, ViewModelFactoryService } from '@nakedobjects/view-models';
import { SubscriptionLike as ISubscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare class BaseDialogComponent implements OnDestroy, OnChanges {
    private readonly viewModelFactory;
    private readonly error;
    private readonly context;
    private readonly formBuilder;
    constructor(viewModelFactory: ViewModelFactoryService, error: ErrorService, context: ContextService, formBuilder: FormBuilder);
    private parentViewModel?;
    private parms?;
    private formSub?;
    protected sub?: ISubscription;
    private createFormSub?;
    protected set parent(parent: MenuViewModel | DomainObjectViewModel | ListViewModel | CollectionViewModel);
    protected get parent(): MenuViewModel | DomainObjectViewModel | ListViewModel | CollectionViewModel;
    private currentDialogId?;
    private parentChanged;
    set selectedDialogId(id: string | undefined);
    get selectedDialogId(): string | undefined;
    dialog: DialogViewModel | null;
    form?: FormGroup;
    get title(): string;
    get message(): string;
    get parameters(): ParameterViewModel[];
    get tooltip(): string;
    onSubmit(right?: boolean): void;
    close: () => void;
    private createForm;
    onValueChanged(): void;
    closeExistingDialog(): void;
    getDialog(): void;
    ngOnDestroy(): void;
    ngOnChanges(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BaseDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BaseDialogComponent, "ng-component", never, { "selectedDialogId": { "alias": "selectedDialogId"; "required": false; }; }, {}, never, never, false, never>;
}
