import { ClassAst, ClassContext } from 'ims-decorator'; export declare type TreeOptions = "adjacency-list" | "closure-table" | "nested-set" | "materialized-path"; export declare const TreeMetadataKey = "TreeMetadataKey"; export declare const Tree: (metadataDef?: ("adjacency-list" & { sourceRoot?: string; imports?: any[]; providers?: import("../../../../ims-decorator/lib").Provider[]; }) | ("closure-table" & { sourceRoot?: string; imports?: any[]; providers?: import("../../../../ims-decorator/lib").Provider[]; }) | ("nested-set" & { sourceRoot?: string; imports?: any[]; providers?: import("../../../../ims-decorator/lib").Provider[]; }) | ("materialized-path" & { sourceRoot?: string; imports?: any[]; providers?: import("../../../../ims-decorator/lib").Provider[]; })) => (target: any, propertyKey?: string | symbol, descriptor?: number | TypedPropertyDescriptor) => any; export declare function isTreeClassAst(val: ClassAst): val is ClassAst; export declare class TreeAst extends ClassContext { }