import { OnInit, OnDestroy, QueryList } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import * as Models from '../models';
import { UrlManagerService } from '../url-manager.service';
import { ContextService } from '../context.service';
import { ViewModelFactoryService } from '../view-model-factory.service';
import { ErrorService } from '../error.service';
import { PaneRouteData } from '../route-data';
import { FormBuilder, FormGroup } from '@angular/forms';
import { PropertyViewModel } from '../view-models/property-view-model';
import { MenuItemViewModel } from '../view-models/menu-item-view-model';
import { DomainObjectViewModel } from '../view-models/domain-object-view-model';
import { IActionHolder } from '../action/action.component';
import { ColorService } from '../color.service';
import { ConfigService } from '../config.service';
import { PropertiesComponent } from '../properties/properties.component';
import { CollectionViewModel } from '../view-models/collection-view-model';
export declare class ObjectComponent implements OnInit, OnDestroy {
    private readonly activatedRoute;
    private readonly urlManager;
    private readonly context;
    private readonly viewModelFactory;
    private readonly colorService;
    private readonly error;
    private readonly formBuilder;
    private readonly configService;
    constructor(activatedRoute: ActivatedRoute, urlManager: UrlManagerService, context: ContextService, viewModelFactory: ViewModelFactoryService, colorService: ColorService, error: ErrorService, formBuilder: FormBuilder, configService: ConfigService);
    expiredTransient: boolean;
    object: DomainObjectViewModel | null;
    private mode;
    form: FormGroup | null;
    readonly viewMode: string;
    readonly friendlyName: string;
    private pendingColor;
    readonly color: string;
    readonly properties: string | PropertyViewModel[];
    readonly collections: CollectionViewModel[];
    readonly tooltip: string;
    onSubmit(viewObject: boolean): void;
    copy(event: KeyboardEvent): void;
    title(): string;
    disableActions: () => true | null;
    actionsTooltip: () => "" | "Close actions" | "No actions available" | "Open actions (Alt-a)";
    unsaved: () => boolean;
    private do(f);
    toggleActionMenu: () => void;
    doEdit: () => void;
    doEditCancel: () => void;
    showEdit: () => boolean;
    doReload: () => void;
    message: () => string;
    showActions: () => boolean;
    menuItems: () => MenuItemViewModel[];
    private actionButton;
    private editButton;
    private reloadButton;
    private saveButton;
    private saveAndCloseButton;
    private cancelButton;
    private actionButtons;
    private viewButtons;
    private saveButtons;
    readonly actionHolders: IActionHolder[];
    private clearCurrentObject();
    protected setup(routeData: PaneRouteData): void;
    private lastPaneRouteData;
    private activatedRouteDataSub;
    private paneRouteDataSub;
    private concurrencyErrorSub;
    private formSub;
    private focusSub;
    private createForm(vm);
    isDirty(paneRouteData: PaneRouteData, oid?: Models.ObjectIdWrapper): boolean;
    ngOnInit(): void;
    selectedDialogId: string;
    propComponents: QueryList<PropertiesComponent>;
    focus(parms: QueryList<PropertiesComponent>): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
}
