import { Head } from "./head"; import { Tail } from "./tail"; /** * Returns the value at key `K` in object `O`, `F` if `K` misses from object * * @param O Object * @param K Property key * @param F _(optional:_ `never` _)_ Fallback type * @return Type */ export declare type Get = K extends keyof O ? O[K] : F; /** * Returns the value at path `P` in object `O`, `F` if `P` misses from object * * @param O Object * @param P Path * @param F _(optional:_ `never` _)_ Fallback type * @return Type */ export declare type DeepGet = { continue: Head

extends keyof O ? DeepGet], Tail

, F> : F; stop: O; }[P extends [any, ...any[]] ? "continue" : "stop"];