import AudioScheduledSourceNode from '../../../core/AudioScheduledSourceNode'; type AttachFileSourceOptions = { loop: boolean; onEnded: () => void; }; export declare class AudioFileSourceNode extends AudioScheduledSourceNode { private readonly emitter; private didConnectToDestination; private positionSubscription?; private endedSubscription?; attach(options: AttachFileSourceOptions): { duration: number; }; dispose(): void; /** * First call: connect to destination + start. Later calls on the same node * (e.g. resume after pause): only start — avoids duplicate edges and matches * native file-source resume (unpause) semantics. */ play(): void; pause(): void; seekToTime(seconds: number): void; setVolume(value: number): void; setLoop(value: boolean): void; getDuration(): number; getCurrentTime(): number; startPositionTracking(onTime: (seconds: number) => void): void; stopPositionTracking(): void; private resetNodeAndSubscriptions; } export {}; //# sourceMappingURL=AudioFileSourceNode.d.ts.map