import { Arbitrary } from './definition/Arbitrary'; /** * Conjonction of a weight and an arbitrary used by {@link frequency} * in order to generate values * * @public */ export interface WeightedArbitrary { weight: number; arbitrary: Arbitrary; } /** * Infer the type of the Arbitrary produced by {@link frequency} * given the type of the source arbitraries * * @public */ export declare type FrequencyValue[]> = { [K in keyof Ts]: Ts[K] extends WeightedArbitrary ? U : never; }[number]; /** * For one of the values generated by `...warbs` - the probability of selecting the ith warb is of `warb[i].weight / sum(warb[j].weight)` * * **WARNING**: It expects at least one (Arbitrary, weight) * * @param warbs - (Arbitrary, weight)s that might be called to produce a value * * @public */ declare function frequency[]>(...warbs: Ts): Arbitrary>; export { frequency };