import { AudioListener as ThreeAudioListener } from "three";
import { Behaviour } from "./Component.js";
/**
 * The [AudioListener](https://engine.needle.tools/docs/api/AudioListener) represents a listener that can hear audio sources in the scene.
 * This component creates and manages a Three.js {@link three#AudioListener}, automatically connecting it
 * to the main camera or a Camera in the parent hierarchy.
 *
 * @summary Receives audio in the scene and outputs it to speakers
 * @category Multimedia
 * @group Components
 */
export declare class AudioListener extends Behaviour {
    /**
     * Gets the existing Three.js {@link three#AudioListener} instance or creates a new one if it doesn't exist.
     * This listener is responsible for capturing audio in the 3D scene.
     * @returns The {@link three#AudioListener} instance
     */
    get listener(): ThreeAudioListener;
    private _listener;
    /**
     * Registers for interaction events and initializes the audio listener
     * when this component is enabled.
     * @internal
     */
    onEnable(): void;
    /**
     * Cleans up event registrations and removes the audio listener
     * when this component is disabled.
     * @internal
     */
    onDisable(): void;
    private onInteraction;
    private addListenerIfItExists;
    private removeListenerIfItExists;
}
