export declare type PropType = T extends Array<(infer U)> ? IArrayProp : IObjectProp; export interface IPathResolve { resolve(): string; } export interface IObjectProp { prop>(key: K): PropType; } export interface IArrayProp { index(index: number): PropType; } export declare type PropertyPathFor = (builder: PropType) => IObjectProp | IArrayProp; export declare class PropertyPath { static for(b: PropertyPathFor): string; } export declare type FormBinderKey = Extract | PropertyPathFor; export declare function toDataPath(param: FormBinderKey, parentPath?: string): string;