import type { Nullable } from "../../base-types"; import { RelationRole } from "../base/relation-role"; /** * Specifies a relation. */ export interface IRelationSpecification { /** * Name of the relation (case insensitive). */ name: string; /** * If the relation is self-referencing, which role to load. * If it is null, both will be loaded into two separate relation objects. */ role: Nullable; /** * Creates a deep clone of this instance. */ deepClone(): IRelationSpecification; /** * Checks if the current is the equal to other. * @param other - The instance to compare with */ deepEquals(other: IRelationSpecification): boolean; } export declare class RelationSpecification implements IRelationSpecification { name: string; role: Nullable; constructor(name: string, role?: Nullable); deepClone(): IRelationSpecification; deepEquals(other: IRelationSpecification): boolean; private onDeserialized; }