declare const version: string; type PlainObject = { [name: string]: any; }; /** * @deprecated `mixer()` rows can contain non-boolean values. Use * `MixerResult` for generated rows. */ type PlainObjectOfBool = { [name: string]: boolean; }; type BooleanValuesWidened = { [Key in keyof T]: T[Key] extends boolean ? boolean : T[Key]; }; type MixerResult = Omit< BooleanValuesWidened, keyof Ref > & Ref; interface MixerOptions { maxCombinations: number; } declare const defaults: Readonly; declare function mixer>( ref?: undefined, defaultsObj?: Defaults, opts?: Partial, ): BooleanValuesWidened[]; declare function mixer< Ref extends PlainObject, Defaults extends PlainObject = Record, >( ref: Ref, defaultsObj?: Defaults, opts?: Partial, ): MixerResult[]; declare function mixer< Ref extends PlainObject, Defaults extends PlainObject = Record, >( ref: Ref | undefined, defaultsObj?: Defaults, opts?: Partial, ): Array | BooleanValuesWidened>; declare function mixerLazy>( ref?: undefined, defaultsObj?: Defaults, ): Generator, void, unknown>; declare function mixerLazy< Ref extends PlainObject, Defaults extends PlainObject = Record, >( ref: Ref, defaultsObj?: Defaults, ): Generator, void, unknown>; declare function mixerLazy< Ref extends PlainObject, Defaults extends PlainObject = Record, >( ref: Ref | undefined, defaultsObj?: Defaults, ): Generator< MixerResult | BooleanValuesWidened, void, unknown >; export { defaults, mixer, mixerLazy, version }; export type { BooleanValuesWidened, MixerOptions, MixerResult, PlainObject, PlainObjectOfBool, };