import { AbstractNamedAudioNode } from "./abstractAudioNode.js";
import type { AudioEngineV2 } from "./audioEngineV2.js";
import type { _AbstractAudioSubGraph } from "./subNodes/abstractAudioSubGraph.js";
import type { IVolumeAudioOptions } from "./subNodes/volumeAudioSubNode.js";
import type { AbstractAudioAnalyzer, IAudioAnalyzerOptions } from "./subProperties/abstractAudioAnalyzer.js";
/** @internal */
export interface IAbstractAudioBusOptions extends IAudioAnalyzerOptions, IVolumeAudioOptions {
}
/**
 * Abstract class representing an audio bus with volume control.
 *
 * An audio bus is a node in the audio graph that can have multiple inputs and outputs. It is typically used to group
 * sounds together and apply effects to them.
 */
export declare abstract class AbstractAudioBus extends AbstractNamedAudioNode {
    private _analyzer;
    protected abstract _subGraph: _AbstractAudioSubGraph;
    protected constructor(name: string, engine: AudioEngineV2);
    /**
     * The analyzer features of the bus.
     */
    get analyzer(): AbstractAudioAnalyzer;
    /**
     * The output volume of the bus.
     */
    get volume(): number;
    set volume(value: number);
    /**
     * Releases associated resources.
     */
    dispose(): void;
}
