import OperativeNode, { OperativeNodeProps } from './abstracts/OperativeNode'; export declare type Src = AudioBuffer | ArrayBuffer | string; interface SourceProps extends OperativeNodeProps { src?: Src; gain?: number; autoDestroy?: boolean; onAutoDestroy?: () => void; } export default class Source extends OperativeNode { private src; private loaded; private hasExternalBuffer; private gain; private sourceNode; node: GainNode; constructor({ src, gain, onAutoDestroy, autoDestroy, ...rest }?: SourceProps); load(): Promise; setBuffer(audio: AudioBuffer): void; play(time?: number): void; destroy(): void; addParent(): void; removeParent(): void; } export {};