import { Key } from '../../Any/Key'; import { _Pick as _OPick } from '../Pick'; import { List } from '../../List/List'; import { Tail } from '../../List/Tail'; import { BuiltIn } from '../../Misc/BuiltIn'; import { _ListOf } from '../ListOf'; /** * @hidden */ declare type PickAt> = [ ] extends Path ? O : O extends BuiltIn ? O : O extends List ? _ListOf<{ [K in keyof _OPick]: PickAt>; }> : O extends object ? { [K in keyof _OPick]: PickAt>; } : O; /** * Extract out of `O` the fields at `Path` * @param O to extract from * @param Path to be followed * @returns [[Object]] * @example * ```ts * ``` */ export declare type Pick> = Path extends unknown ? PickAt : never; export {};