import { PropertyInfo } from './property-info'; import { proxyTargetSymbol } from './proxy-target-symbol'; /** * Property info proxy to provide property traversal without actual accessing an object. * * @type {PropertyInfoProxy} */ export type PropertyInfoProxy = { [proxyTargetSymbol]: PropertyInfo; }; /** * Root of property info proxy. * * @type {PropertyInfoProxyRoot} */ export type PropertyInfoProxyRoot = PropertyInfoProxy & { [TChildProperty in keyof Required]: PropertyInfoProxyLevelOne[TChildProperty]>; }; /** * Level one of property info proxy. * * @type {PropertyInfoProxyLevelOne} */ export type PropertyInfoProxyLevelOne = PropertyInfoProxy & { [TChildProperty in keyof Required]: PropertyInfoProxyLevelTwo[TChildProperty]>; }; /** * Level two of property info proxy. * * @type {PropertyInfoProxyLevelTwo} */ export type PropertyInfoProxyLevelTwo = PropertyInfoProxy & { [TChildProperty in keyof Required]: PropertyInfoProxyLevelThree[TChildProperty]>; }; /** * Level three of property info proxy. * * @type {PropertyInfoProxyLevelThree} */ export type PropertyInfoProxyLevelThree = PropertyInfoProxy & { [TChildProperty in keyof Required]: PropertyInfoProxyLevelFour[TChildProperty]>; }; /** * Level four of property info proxy. * * @type {PropertyInfoProxyLevelFour} */ export type PropertyInfoProxyLevelFour = PropertyInfoProxy & { [TChildProperty in keyof Required]: PropertyInfoProxyLevelFive[TChildProperty]>; }; /** * Level five of property info proxy. * * @type {PropertyInfoProxyLevelFive} */ export type PropertyInfoProxyLevelFive = PropertyInfoProxy & { [TChildProperty in keyof Required]: PropertyInfoProxyLevelSix[TChildProperty]>; }; /** * Level six of property info proxy. * * @type {PropertyInfoProxyLevelSix} */ export type PropertyInfoProxyLevelSix = PropertyInfoProxy & { [TChildProperty in keyof Required]: PropertyInfoProxyLevelSeven[TChildProperty]>; }; /** * Level seven of property info proxy. * * @type {PropertyInfoProxyLevelSeven} */ export type PropertyInfoProxyLevelSeven = PropertyInfoProxy & { [TChildProperty in keyof Required]: PropertyInfoProxyLevelEight[TChildProperty]>; }; /** * Level eight of property info proxy. * * @type {PropertyInfoProxyLevelEight} */ export type PropertyInfoProxyLevelEight = PropertyInfoProxy & { [TChildProperty in keyof Required]: PropertyInfoProxyLevelNine[TChildProperty]>; }; /** * Level nine of property info proxy. * * @type {PropertyInfoProxyLevelNine} */ export type PropertyInfoProxyLevelNine = PropertyInfoProxy & { [TChildProperty in keyof Required]: PropertyInfoProxyLevelTen[TChildProperty]>; }; /** * Level ten of property info proxy. * * @type {PropertyInfoProxyLevelTen} */ export type PropertyInfoProxyLevelTen = PropertyInfoProxy & { [TChildProperty in keyof Required]: Required[TChildProperty]; }; //# sourceMappingURL=property-info-proxy.d.ts.map