import { IEntityContext, IObjectTree } from '@jacquesparis/objects-model';
import { AccessRightsScope } from './../services/access-rights/access-rights.const';
import { EntityName } from './entity-name';
import { ObjectNode } from './object-node.model';
export declare class ObjectTree implements IObjectTree {
    treeNode: ObjectNode;
    [key: string]: any;
    children: ObjectTree[];
    childrenEntityCtx: {
        [objectTypeId: string]: {
            aclCtx: {
                rights: {
                    [scope in AccessRightsScope]?: boolean;
                };
            };
        };
    };
    parentTree?: ObjectTree;
    uri: string;
    aliasUri?: string;
    id: string;
    ownerType?: string;
    ownerName?: string;
    namespaceType?: string;
    namespaceName?: string;
    treeType?: string;
    treeName?: string;
    parentTreeId?: string;
    parentTreeUri?: string;
    entityName: EntityName;
    entityCtx?: IEntityContext;
    constructor(treeNode: ObjectNode);
    get childrenByObjectTypeId(): {
        [objectTypeId: string]: ObjectTree[];
    };
    init(allNodes: ObjectNode[]): Promise<ObjectTree>;
}
export declare class ObjectNodeTree<T extends ObjectNode> extends ObjectTree {
    treeNode: T;
}
