import { Dyno, IOTypes } from './base'; import * as THREE from "three"; export declare class DynoProgram { graph: Dyno; template: DynoProgramTemplate; inputs: Record; outputs: Record; shader: string; uniforms: Record; updaters: (() => void)[]; constructor({ graph, inputs, outputs, template, }: { graph: Dyno; inputs?: Record; outputs?: Record; template: DynoProgramTemplate; }); prepareMaterial(): THREE.RawShaderMaterial; update(): void; } export declare class DynoProgramTemplate { before: string; between: string; after: string; indent: string; constructor(template: string); generate({ globals, statements, }: { globals: Set; statements: string[]; }): string; }