import { NoiseConfig } from "./NoiseConfig"; type Node = any; /** * Generates procedural noise for masking and texture variation * Supports Perlin, Voronoi, and FBM noise types */ export declare class NoiseGenerator { /** * Generate noise based on configuration * @param uv - UV coordinates * @param config - Noise configuration * @returns Noise value (0-1) */ generate(uv: Node, config: NoiseConfig): Node; /** * Perlin-like noise using hash-based gradients */ private perlinNoise; private perlinOctave; /** * Fractional Brownian Motion - layered noise for natural patterns */ fbmNoise(uv: Node, octaves: number, persistence: number): Node; /** * Voronoi (cellular) noise - creates cell-like patterns */ voronoiNoise(uv: Node, octaves: number): Node; /** * 2D hash function for pseudo-random values * Returns vec3 of random values in [0,1] */ private hash2D; /** * Turbulence - absolute value FBM for marble-like patterns */ turbulence(uv: Node, octaves: number, persistence?: number): Node; /** * Domain warping - distort UV coordinates with noise */ domainWarp(uv: Node, strength?: number): Node; } export {}; //# sourceMappingURL=NoiseGenerator.d.ts.map