import { type ShaderName, type ShaderParams } from "./registry.js"; import type { ResolvedUniforms } from "./types.js"; /** `#rgb`, `#rrggbb` and `#rrggbbaa` all parse. Values stay in sRGB. */ export declare function parseColor(hex: string): [number, number, number, number]; export declare function formatColor(rgba: readonly number[]): string; /** Every control at its registry default, as a plain params object. */ export declare function defaultParams(name: K): Required>; /** * Maps a shader's named controls onto the shared uniform block. Unknown keys * are ignored rather than thrown on, so a config written for one shader * degrades gracefully when pointed at another. */ export declare function resolveUniforms(name: K, params: ShaderParams | undefined, frame: { resolution: [number, number]; pointer: [number, number]; time: number; quality?: number; }): ResolvedUniforms; /** * Serialises the params that differ from the registry defaults into a compact * query string, so a tuned shader is a shareable URL. */ export declare function encodeParams(name: K, params: ShaderParams): string; export declare function decodeParams(name: K, search: string): ShaderParams; //# sourceMappingURL=params.d.ts.map