import { OnDestroy, OnInit } from '@angular/core';
import { CollectionViewState, UrlManagerService } from '@nakedobjects/services';
import { CollectionViewModel, ItemViewModel, DragAndDropService } from '@nakedobjects/view-models';
import * as i0 from "@angular/core";
type State = 'summary' | 'list' | 'table';
export declare class CollectionComponent implements OnInit, OnDestroy {
    private readonly urlManager;
    private readonly dragAndDrop;
    private ddSub?;
    dropZones: string[];
    constructor(urlManager: UrlManagerService, dragAndDrop: DragAndDropService);
    collection: CollectionViewModel;
    private paneRouteDataSub?;
    private lastPaneRouteData?;
    private currentOid?;
    selectedDialogId?: string;
    get currentState(): CollectionViewState;
    get state(): State;
    get title(): string;
    get details(): string;
    get mayHaveItems(): boolean;
    get header(): string[];
    get items(): ItemViewModel[];
    get message(): string;
    private isSummary;
    private isList;
    private isTable;
    showActions: () => boolean;
    showSummary: () => boolean;
    showList: () => boolean;
    showTable: () => boolean;
    doSummary: () => void;
    doList: () => void;
    doTable: () => void;
    disableActions: () => boolean;
    hasTableData: () => boolean;
    setDropZones(ids: string[]): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CollectionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CollectionComponent, "nof-collection", never, { "collection": { "alias": "collection"; "required": true; }; }, {}, never, never, false, never>;
}
export {};
