/** * An interface for a noise generator that can apply noise to different types of data. */ interface NoiseGenerator { /** * Apply noise to a floating point number. * @param data - The input number to apply noise to. * @returns The result of applying noise to the input number. */ apply_on_float: (data: number) => number; /** * Apply noise to a BigInt. * @param data - The input BigInt to apply noise to. * @returns The result of applying noise to the input BigInt. */ apply_on_int: (data: bigint) => bigint; /** * Apply noise to a date string. * @param data - The input date string to apply noise to. * @returns The result of applying noise to the input date string. */ apply_on_date: (data: string) => string; /** * Apply correlated noise to an array of floating point numbers. * @param data - The input array of floating point numbers to apply correlated noise to. * @param factors - The array of correlation factors to use. * @returns The result of applying correlated noise to the input array of floating point numbers. */ apply_correlated_noise_on_floats: (data: Float64Array, factors: Float64Array) => Float64Array; /** * Apply correlated noise to an array of BigInts. * @param data - The input array of BigInts to apply correlated noise to. * @param factors - The array of correlation factors to use. * @returns The result of applying correlated noise to the input array of BigInts. */ apply_correlated_noise_on_ints: (data: BigInt64Array, factors: Float64Array) => BigInt64Array; /** * Apply correlated noise to an array of date strings. * @param data - The input array of date strings to apply correlated noise to. * @param factors - The array of correlation factors to use. * @returns The result of applying correlated noise to the input array of date strings. */ apply_correlated_noise_on_dates: (data: string, factors: Float64Array) => string; } /** * A class representing a noise generator. */ declare class Noise { /** * The underlying noise generator. */ protected readonly _noise: NoiseGenerator; /** * Creates a new instance of `Noise`. * @param noise - The noise generator to use. */ constructor(noise: NoiseGenerator); /** * Applies noise to the input data. * @param data - The input data to apply noise to. * @returns The input data with noise applied. * @throws An error if the type of `data` is not supported. */ apply(data: number | bigint | string): number | bigint | string; /** * Applies correlated noise to the input data. * @param data - The input data to apply noise to. * @param factors - The factors to use for applying noise. * @returns The input data with noise applied. * @throws An error if the type of `data` is not supported. */ apply_correlated(data: Iterable | Iterable | Iterable, factors?: Iterable): Iterable | Iterable | Iterable; } /** * A class representing a noise generator with parameters. * @augments Noise */ export declare class NoiseWithParameters extends Noise { /** * Creates a new instance of `NoiseWithParameters`. * @param methodName - the noise distribution to use ("Gaussian" or "Laplace") * @param mean - The mean value for generating noise. * @param stdDev - The standard deviation value for generating noise. */ constructor(methodName: string, mean: number, stdDev: number); } /** * A class representing a noise generator with bounds. * @augments Noise */ export declare class NoiseWithBounds extends Noise { /** * Creates a new instance of `NoiseWithBounds`. * @param methodName - the noise distribution to use ("Gaussian", "Laplace" or "Uniform") * @param minBound - The minimum bound for generating noise. * @param maxBound - The maximum bound for generating noise. */ constructor(methodName: string, minBound: number, maxBound: number); } export {}; //# sourceMappingURL=noise.d.ts.map