import type { ShaderName, ShaderParams } from "./registry.js"; import type { PlayMode, QualityOptions } from "./types.js"; /** * A tuned shader, ready to hand to `` or `createShaderRenderer`. * This object is the thing you actually author: the slider positions you * settled on, in a form your editor can type-check. */ export interface ShaderConfig { readonly shader: K; readonly params?: ShaderParams; readonly quality?: QualityOptions; readonly play?: PlayMode; /** Free-text note, kept so exported presets can explain themselves. */ readonly note?: string; } /** Identity at runtime; it exists so `params` is checked against `shader`. */ export declare function defineShader(config: ShaderConfig): ShaderConfig; export interface ShadertownConfig { /** Where `shadertown add` writes vendored shaders. */ readonly outDir?: string; /** Registry base URL. Point this at a fork to serve your own catalogue. */ readonly registry?: string; /** License key, or the name of the env var holding it. */ readonly license?: string; /** Named presets, so a project refers to `presets.hero` rather than a slug. */ readonly presets?: Readonly>; } export declare function defineShadertownConfig(config: ShadertownConfig): ShadertownConfig; //# sourceMappingURL=config.d.ts.map