/** * AudioGraph.ts * * Node-based audio processing graph: connections, parameter * automation, processing order, and mix routing. * * @module audio */ export type AudioNodeType = 'source' | 'gain' | 'filter' | 'delay' | 'reverb' | 'compressor' | 'output' | 'mixer'; export interface AudioGraphNode { id: string; type: AudioNodeType; params: Map; inputs: string[]; outputs: string[]; bypassed: boolean; } export interface AudioConnection { id: string; sourceId: string; targetId: string; sourcePort: number; targetPort: number; } export interface AutomationPoint { time: number; value: number; curve: 'linear' | 'exponential' | 'step'; } export interface ParameterAutomation { nodeId: string; paramName: string; points: AutomationPoint[]; } export declare class AudioGraph { private nodes; private connections; private automations; private processingOrder; private dirty; addNode(type: AudioNodeType, params?: Record): AudioGraphNode; removeNode(id: string): boolean; connect(sourceId: string, targetId: string, sourcePort?: number, targetPort?: number): string | null; disconnect(connId: string): boolean; automate(nodeId: string, paramName: string, points: AutomationPoint[]): void; applyAutomation(time: number): void; private evaluateAutomation; getProcessingOrder(): string[]; setParam(nodeId: string, param: string, value: number): void; getParam(nodeId: string, param: string): number | undefined; bypass(nodeId: string, bypassed: boolean): void; getNode(id: string): AudioGraphNode | undefined; getNodeCount(): number; getConnectionCount(): number; } //# sourceMappingURL=AudioGraph.d.ts.map