/** * Audio type definitions for the audio editor */ export interface AudioFile { id: string; name: string; size: number; duration: number; sampleRate: number; numberOfChannels: number; buffer: AudioBuffer; } export interface PlaybackState { isPlaying: boolean; isPaused: boolean; currentTime: number; duration: number; volume: number; playbackRate: number; } export interface WaveformData { peaks: Float32Array[]; length: number; sampleRate: number; duration: number; } export interface Region { id: string; start: number; end: number; label?: string; color?: string; } export interface AudioContext { context: AudioContext | null; buffer: AudioBuffer | null; source: AudioBufferSourceNode | null; gainNode: GainNode | null; }