import { AfterViewInit, OnDestroy, OnInit, QueryList } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import * as Ro from '@nakedobjects/restful-objects';
import { ColorService, ConfigService, ContextService, ErrorService, PaneRouteData, UrlManagerService } from '@nakedobjects/services';
import { CollectionViewModel, DomainObjectViewModel, DragAndDropService, MenuItemViewModel, PropertyViewModel, ViewModelFactoryService } from '@nakedobjects/view-models';
import { IActionHolder } from '../action/action.component';
import { PropertiesComponent } from '../properties/properties.component';
import * as i0 from "@angular/core";
export declare class ObjectComponent implements OnInit, OnDestroy, AfterViewInit {
    private readonly activatedRoute;
    private readonly urlManager;
    private readonly context;
    private readonly viewModelFactory;
    private readonly colorService;
    private readonly error;
    private readonly formBuilder;
    private readonly configService;
    private readonly dragAndDrop;
    constructor(activatedRoute: ActivatedRoute, urlManager: UrlManagerService, context: ContextService, viewModelFactory: ViewModelFactoryService, colorService: ColorService, error: ErrorService, formBuilder: FormBuilder, configService: ConfigService, dragAndDrop: DragAndDropService);
    private actionButton;
    private editButton;
    private reloadButton;
    private saveButton;
    private saveAndCloseButton;
    private cancelButton;
    private actionButtons;
    private viewButtons;
    private saveButtons;
    private lastPaneRouteData?;
    private activatedRouteDataSub?;
    private paneRouteDataSub?;
    private concurrencyErrorSub?;
    private formSub?;
    private focusSub?;
    private ddSub?;
    selectedDialogId?: string;
    dropZones: string[];
    propComponents?: QueryList<PropertiesComponent>;
    expiredTransient: boolean;
    object: DomainObjectViewModel | null;
    toCreateClass?: string;
    private mode;
    form: FormGroup | null;
    get viewMode(): string;
    get friendlyName(): string;
    private pendingColor;
    get classes(): string;
    get color(): string;
    get properties(): PropertyViewModel[];
    get collections(): CollectionViewModel[];
    get tooltip(): string;
    isEditDialog(selectedDialogId?: string): boolean;
    onSubmit(viewObject: boolean): void;
    copy(event: KeyboardEvent): void;
    title(): string;
    disableActions: () => boolean;
    actionsTooltip: () => "" | "Close actions" | "No actions available" | "Open actions (Alt-a)";
    unsaved: () => boolean;
    private do;
    toggleActionMenu: () => void;
    doEdit: () => void;
    doEditCancel: () => void;
    showEdit: () => boolean;
    doReload: () => void;
    message: () => string;
    showActions: () => boolean;
    menuItems: () => MenuItemViewModel[];
    get actionHolders(): IActionHolder[];
    private clearCurrentObject;
    protected setup(routeData: PaneRouteData): void;
    private createForm;
    isDirty(paneRouteData: PaneRouteData, oid?: Ro.ObjectIdWrapper): boolean;
    setDropZones(ids: string[]): void;
    ngOnInit(): void;
    focus(parms: QueryList<PropertiesComponent>): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ObjectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ObjectComponent, "nof-object", never, {}, {}, never, never, false, never>;
}
