import { ClassType } from '@deepkit/core'; import { ReflectionClass } from './reflection/reflection.js'; import { Type } from './reflection/type.js'; export declare function isReferenceInstance(obj: any): boolean; export declare function getReferenceInfo(obj: T): ReferenceInfo | undefined; export declare function getReferenceItemInfo(obj: T): ReferenceItemInfo | undefined; export declare function getOrCreateReferenceItemInfo(obj: T): ReferenceItemInfo; export declare function isReferenceHydrated(obj: any): boolean; export declare function markAsHydrated(item: any): void; export interface ReferenceInfo { hydrator?: (item: T) => Promise; } export interface ReferenceItemInfo { hydrated: boolean; } export declare const referenceSymbol: unique symbol; export declare const referenceItemSymbol: unique symbol; export declare function createReference(type: ClassType | Type | ReflectionClass, pk: { [name: string]: any; }): T; export declare function createReferenceClass(reflection: ReflectionClass): ClassType; export declare type __ΩReferenceInfo = any[]; export declare type __ΩReferenceItemInfo = any[];