import type { RandomDynamicStringOption, RandomFixedStringOption, RandomFloatOption, RandomIntOption, RandomMultipleValueOption, RandomNumberOption, RandomSelectOption, RandomWeightedOption } from "./IOptions"; import type { IRandom } from "./IRandom"; import type { ISeed, SeedPatch } from "./ISeed"; /** * Base random implementation, * this include all utilities around random * using {@link IRandom.pseudo} function to generate * random value. * * @beta */ export declare abstract class Random implements IRandom { protected seed: ISeed; /** * Create new random instance. * * @param seed - random seed * * @beta */ constructor(seed: ISeed); /** * random boolean, the result can be either true or false. * * @returns randomed boolean * * @beta */ boolean(): boolean; /** * random integer number based from input option. * * @param option - random option * @returns integer number * * @beta */ int(option?: Partial): number; /** * random float number based from input option. * * @param option - random option * @returns float number * * @beta */ float(option?: Partial): number; /** * random either integer or float number based from input option. * default mode is float. * * @param option - random option * @returns number * * @beta */ number(option?: Partial): number; /** * random fixed size string from input option. * * @param option - random option * @returns string * * @beta */ fixedString(option?: Partial): string; /** * random dynamic size string from input option. * * @param option - random option * @returns string * * @beta */ dynamicString(option?: Partial): string; /** * randomly select value from input whitelist. * * @param option - random option * @returns value from input array * * @beta */ select(option: RandomSelectOption): T; /** * randomly shuffle input whitelist * * @param option - random option * @returns shuffled array * * @beta */ shuffle(option: RandomMultipleValueOption): Array; /** * randomly select value based on weighted number. * * @param options - weighted value * @returns value from input * * @beta */ weighted(...options: Array>): T; /** * get latest seed number * * @param p - patch function * @returns seed number * * @internal */ protected getSeed(p?: SeedPatch): number; abstract pseudo(): number; abstract copy(seed: ISeed): IRandom; } //# sourceMappingURL=Random.d.ts.map