import { StopOptions, FadeToken } from "./types"; export declare class SoundToken { private sourceController; private gainNode; private audioContext; private outputNode; private _isPlaying; private _isPaused; private _isMuted; private volume; private rate; /** * Time (AudioContext.currentTime) when current playback started. */ /** * The AudioContext.currentTime when the current play session began. */ /** * AudioContext.currentTime when current play session began. */ private contextStartTime; /** * Offset (seconds) inside the media where this session began. */ private startOffset; /** * Offset recorded when paused (used for resume). */ private pauseOffset; private duration; private currentFade; constructor(audioContext: AudioContext, source: AudioBufferSourceNode | HTMLAudioElement, options?: { volume?: number; rate?: number; startOffset?: number; duration?: number; }, outputNode?: AudioNode); private emit; setVolume(volume: number): this; getVolume(): number; mute(): this; mute(muted: boolean): this; unmute(): this; isMuted(): boolean; pause(): this; resume(): this; isPlaying(): boolean; isPaused(): boolean; stop(options?: StopOptions): this; private doStop; setRate(rate: number): this; getRate(): number; seek(time: number): this; getCurrentTime(): number; getDuration(): number; fade(from: number, to: number, duration: number): FadeToken; on(event: string, callback: Function): this; off(event: string, callback: Function): this; once(event: string, callback: Function): this; }