import { UniformType, UniformValue } from "../../shader/shader"; import type { GLSLUtility } from "../utilities"; import { DefinesName } from "../utilities/defines"; export type SynthValue = number[]; export type Input = { type: UniformType; name: string; default: UniformValue; description?: string; }; export type Inputs = Input[]; export type SanitizeInput = { type: UniformType; name: string; value: (() => UniformValue) | UniformValue; }; export type SanitizeInputs = SanitizeInput[]; export type GLSLFunctionType = "src" | "color" | "combine" | "coord" | "combineCoord" | "value"; type GLSLFunctionBase = { name: string; require?: GLSLUtility[]; defines?: DefinesName[]; lang?: string; }; export type GLSLFunctionSource = GLSLFunctionBase & { type: GLSLFunctionType; inputs?: Inputs | Record UniformValue)>; glsl: string; transform?: any; help?: string; }; export type GLSLFunctionCode = GLSLFunctionBase & { type: "code"; codeType: GLSLFunctionType; }; export type GLSLFunction = GLSLFunctionSource | GLSLFunctionCode; export declare const glsl_functions: GLSLFunction[]; export declare function toArray(input: number | number[] | string, length: number, defaults?: any[]): number[] | string; export declare function setFunction(fn: GLSLFunction): void; export {};