export declare type GetFieldByDotNotation = DotNotation extends `${infer Left}.${infer Right}` ? Left extends keyof Obj ? GetFieldByDotNotation, Right> | Extract : undefined : DotNotation extends keyof Obj ? Obj[DotNotation] : undefined; export declare function getByPath(obj: T, key: K): GetFieldByDotNotation;