import { BaseSource } from './base-source';
import AudioGraph from '../audio-graph';
import ResonatorScene from '../scenes/webaudio-scene';
import ResonatorAudioContext from '../audio-context';
import { SourceType } from './source-type';
import { DistanceModel } from './distance-model';
export declare class StreamingSource implements BaseSource {
    private graph;
    private scene;
    private context;
    private element;
    private type;
    playing: boolean;
    private playOnAvailable;
    private node;
    private canPlay;
    private sceneNode;
    private gain;
    private position;
    private distanceModel;
    private maxDistance;
    private refDistance;
    private rollOffFactor;
    private filter;
    private filterFreq;
    constructor(graph: AudioGraph, scene: ResonatorScene, context: ResonatorAudioContext, element: HTMLAudioElement, type?: SourceType);
    private init;
    play(when?: number, offset?: number, duration?: number): void;
    stop(): void;
    getVolume(): number;
    setVolume(value: number): void;
    getPlaybackRate(): number;
    setPlaybackRate(value: number): void;
    private createConnections;
    setPosition(x: number, y: number, z: number): void;
    destroy(): void;
    loop(value: boolean): void;
    fadeIn(time: number): void;
    fadeOut(time: number): void;
    isPlaying(): boolean;
    setDistanceModel(distanceModel: DistanceModel): void;
    setMaxDistance(distance: number): void;
    setRefDistance(ref: number): void;
    setRollOffFactor(factor: number): void;
    updateSpatialization(): void;
    setFilterFrequency(value: number): void;
}
