import { _Pick } from './Pick'; import { Key } from '../Any/Key'; import { Keys } from '../Any/Keys'; import { RequiredFlat } from './Required'; import { Extends } from '../Any/Extends'; import { ComputeRaw } from '../Any/Compute'; import { OptionalFlat } from './Optional'; /** * @hidden */ declare type RequiredIfKeys = Extends extends 1 ? RequiredFlat : O; /** * @hidden */ declare type __AtLeast = K extends keyof O ? _Pick & OptionalFlat : O; /** * @hidden */ declare type _AtLeast = ComputeRaw<__AtLeast, K>>; /** * Make that at least one of the keys `K` are required in `O` at a time. * @param O to make required * @param K (?=`keyof O`) to choose fields * @returns [[Object]] [[Union]] * @example * ```ts * ``` */ export declare type AtLeast> = O extends unknown ? _AtLeast : never; export {};