import { OrthographicCamera } from "./math"; export interface WebGLState { gl: WebGLRenderingContext | WebGL2RenderingContext; program: WebGLProgram; buffers: { position: WebGLBuffer; normal: WebGLBuffer; uv: WebGLBuffer; index: WebGLBuffer; wireframeIndex: WebGLBuffer; }; locations: { attributes: Record; uniforms: Record; }; camera: OrthographicCamera; indexCount: number; wireframeIndexCount: number; indexType: number; } import { NeatConfig, NeatColor, NeatController } from "./types"; export declare class NeatGradient implements NeatController { private _ref; private _speed; private _horizontalPressure; private _verticalPressure; private _waveFrequencyX; private _waveFrequencyY; private _waveAmplitude; private _shadows; private _highlights; private _saturation; private _brightness; private _grainScale; private _grainIntensity; private _grainSparsity; private _grainSpeed; private _colorBlending; private _colors; private _wireframe; private _backgroundColor; private _backgroundColorRgb; private _backgroundAlpha; private _flowDistortionA; private _flowDistortionB; private _flowScale; private _flowEase; private _flowEnabled; private glState; private _enableProceduralTexture; private _textureVoidLikelihood; private _textureVoidWidthMin; private _textureVoidWidthMax; private _textureBandDensity; private _textureColorBlending; private _textureSeed; private _textureEase; private _domainWarpEnabled; private _domainWarpIntensity; private _domainWarpScale; private _vignetteIntensity; private _vignetteRadius; private _fresnelEnabled; private _fresnelPower; private _fresnelIntensity; private _fresnelColor; private _fresnelColorRgb; private _iridescenceEnabled; private _iridescenceIntensity; private _iridescenceSpeed; private _bloomIntensity; private _bloomThreshold; private _chromaticAberration; private _proceduralTexture; private _proceduralBackgroundColor; private _textureShapeTriangles; private _textureShapeCircles; private _textureShapeBars; private _textureShapeSquiggles; private requestRef; private sizeObserver; private _initialized; private _linkElement; private _cachedColorRgb; private _yOffset; private _yOffsetWaveMultiplier; private _yOffsetColorMultiplier; private _yOffsetFlowMultiplier; private _resizeTimeoutId; private _textureNeedsUpdate; private _linkCheckCounter; private _colorsChanged; private _uniformsDirty; private _textureDirty; constructor(config: NeatConfig & { ref: HTMLCanvasElement; resolution?: number; seed?: number; }); destroy(): void; downloadAsPNG(filename?: string): void; set speed(speed: number); set horizontalPressure(horizontalPressure: number); set verticalPressure(verticalPressure: number); set waveFrequencyX(waveFrequencyX: number); set waveFrequencyY(waveFrequencyY: number); set waveAmplitude(waveAmplitude: number); set colors(colors: NeatColor[]); set highlights(highlights: number); set shadows(shadows: number); set colorSaturation(colorSaturation: number); set colorBrightness(colorBrightness: number); set colorBlending(colorBlending: number); set grainScale(grainScale: number); set grainIntensity(grainIntensity: number); set grainSparsity(grainSparsity: number); set grainSpeed(grainSpeed: number); set wireframe(wireframe: boolean); set resolution(resolution: number); set backgroundColor(backgroundColor: string); set backgroundAlpha(backgroundAlpha: number); set yOffset(yOffset: number); get yOffsetWaveMultiplier(): number; set yOffsetWaveMultiplier(value: number); get yOffsetColorMultiplier(): number; set yOffsetColorMultiplier(value: number); get yOffsetFlowMultiplier(): number; set yOffsetFlowMultiplier(value: number); set flowDistortionA(value: number); set flowDistortionB(value: number); set flowScale(value: number); set flowEase(value: number); set flowEnabled(value: boolean); get flowEnabled(): boolean; set enableProceduralTexture(value: boolean); set textureVoidLikelihood(value: number); set textureVoidWidthMin(value: number); set textureVoidWidthMax(value: number); set textureBandDensity(value: number); set textureColorBlending(value: number); set textureSeed(value: number); get textureEase(): number; set textureEase(value: number); set proceduralBackgroundColor(value: string); set textureShapeTriangles(value: number); set textureShapeCircles(value: number); set textureShapeBars(value: number); set textureShapeSquiggles(value: number); _hexToRgb(hex: string): [number, number, number]; _initScene(resolution: number): WebGLState; _createProceduralTexture(gl: WebGLRenderingContext | WebGL2RenderingContext): WebGLTexture | null; set domainWarpEnabled(enabled: boolean); set domainWarpIntensity(intensity: number); set domainWarpScale(scale: number); set vignetteIntensity(intensity: number); set vignetteRadius(radius: number); set fresnelEnabled(enabled: boolean); set fresnelPower(power: number); set fresnelIntensity(intensity: number); set fresnelColor(fresnelColor: string); set iridescenceEnabled(enabled: boolean); set iridescenceIntensity(intensity: number); set iridescenceSpeed(speed: number); set bloomIntensity(intensity: number); set bloomThreshold(threshold: number); set chromaticAberration(aberration: number); }