import { refDomainObject } from './refDomainObject'; import { refProperty } from './refProperty'; type Constructor = new (args: T) => T; /** * define a reference to a domain.object or domain.object.property * * for example * - `ref(Ship)` produces a reference to the `Ship` domain object * - `ref(Ship, 'isid')` produces a reference to the `Ship.isid` property * * note * - this method uses type overloads to support typing different outputs per inputs * - if only `dobj` is passed in, refDomainObject is called, and it's return type is returned * - if both `dobj` and `prop` are passed in, refProperty is called, and its return type is returned */ export declare function ref>(dobj: Constructor): ReturnType; export declare function ref, P extends keyof T>(dobj: Constructor, prop: P): ReturnType; export {};