import { AfterViewInit, OnDestroy, OnChanges, QueryList } from '@angular/core';
import { FormBuilder } from '@angular/forms';
import { ContextService, ErrorService } from '@nakedobjects/services';
import { DomainObjectViewModel, ParameterViewModel, PropertyViewModel, ViewModelFactoryService } from '@nakedobjects/view-models';
import { BaseDialogComponent } from '../base-dialog/base-dialog.component';
import { EditParameterComponent } from '../edit-parameter/edit-parameter.component';
import * as i0 from "@angular/core";
export declare class EditDialogComponent extends BaseDialogComponent implements AfterViewInit, OnDestroy, OnChanges {
    constructor(viewModelFactory: ViewModelFactoryService, error: ErrorService, context: ContextService, formBuilder: FormBuilder);
    properties: PropertyViewModel[];
    parmComponents?: QueryList<EditParameterComponent>;
    set parentObject(obj: DomainObjectViewModel);
    get parentObject(): DomainObjectViewModel;
    get parametersProperties(): (ParameterViewModel | PropertyViewModel)[];
    isParameter(parmprop: PropertyViewModel | ParameterViewModel): parmprop is ParameterViewModel;
    asParameter(parmprop: PropertyViewModel | ParameterViewModel): ParameterViewModel;
    isLastParameter(parmprop: PropertyViewModel | ParameterViewModel): boolean;
    isProperty(parmprop: PropertyViewModel | ParameterViewModel): parmprop is PropertyViewModel;
    asProperty(parmprop: PropertyViewModel | ParameterViewModel): PropertyViewModel;
    private hasHint;
    classes(parmprop: PropertyViewModel | ParameterViewModel): string | {
        [x: string]: boolean;
        parameter: boolean;
    };
    private doNextEditByAction;
    onSubmitNext(right?: boolean): void;
    ngAfterViewInit(): void;
    focus(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<EditDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EditDialogComponent, "nof-edit-dialog", never, { "properties": { "alias": "properties"; "required": true; }; "parentObject": { "alias": "parentObject"; "required": true; }; }, {}, never, never, false, never>;
}
