import type { IAudioFileSourceNode } from '../jsi-interfaces';
import AudioScheduledSourceNode from '../core/AudioScheduledSourceNode';
type AttachFileSourceOptions = {
    loop: boolean;
    onEnded: () => void;
};
export declare class AudioFileSourceNode extends AudioScheduledSourceNode {
    private readonly emitter;
    attach(options: AttachFileSourceOptions): {
        duration: number;
    };
    dispose(): void;
    play(): void;
    pause(): void;
    seekToTime(seconds: number): void;
    setVolume(value: number): void;
    setLoop(value: boolean): void;
    setPlaybackRate(value: number): void;
    setPreservesPitch(value: boolean): void;
    getFileSourceNode(): IAudioFileSourceNode;
    getDuration(): number;
    getCurrentTime(): number;
    startPositionTracking(onTime: (seconds: number) => void): void;
    stopPositionTracking(): void;
    private resetNodeAndSubscriptions;
}
export {};
//# sourceMappingURL=AudioFileSourceNode.d.ts.map