type AccessorChainMap = { [K in keyof M as Exclude]-?: AccessorChain; }; type IsAny = 0 extends 1 & T ? true : false; export type AccessorChain = (IsAny extends true ? { [key: string]: any; } : [M] extends [object] ? AccessorChainMap : [NonNullable] extends [object] ? AccessorChainMap> : {}) & { toString(): string; valueOf(): M | undefined; nameOf(): string; }; export declare function createAccessorModelProxy(chain?: string): AccessorChain; export declare const createModel: typeof createAccessorModelProxy; export declare function isAccessorChain(value: unknown): value is AccessorChain; export {}; //# sourceMappingURL=createAccessorModelProxy.d.ts.map