import { AbstractObjectSchema } from "./schema"; /** * Schema for recursive references */ export declare class RecursiveObjectSchema extends AbstractObjectSchema { /** * Creates recursive schema * @returns a new instance of RecursiveObjectSchema */ static create(): RecursiveObjectSchema; private schema; /** * Constructor */ constructor(); /** * Set number of levels up to raise in the schema. Defaults to 1 (parent) * @param up Levels to raise in the schema * @returns self */ withLevelsUp(up: number): RecursiveObjectSchema; /** * Sets the recursive reference, based on parent id * @param ref The Node id to reference * @returns self */ withReference(ref: string): RecursiveObjectSchema; /** * Sets max recursion allowed. Default has no limit. * @param maxRecursion Max levels of recursion allowed * @returns self */ withMaxRecursion(maxRecursion: number): RecursiveObjectSchema; }