import { type AudioFrame, type FrameProcessor, type NoiseCancellationOptions, RemoteParticipant, type Room } from '@livekit/rtc-node';
import { AudioInput } from '../io.js';
export declare class ParticipantAudioInputStream extends AudioInput {
    private room;
    private sampleRate;
    private numChannels;
    private noiseCancellation?;
    private frameProcessor?;
    private publication;
    private track;
    private participantIdentity;
    private currentInput;
    private streamTransition;
    private attached;
    private closed;
    private logger;
    constructor({ room, sampleRate, numChannels, noiseCancellation, }: {
        room: Room;
        sampleRate: number;
        numChannels: number;
        noiseCancellation?: NoiseCancellationOptions | FrameProcessor<AudioFrame>;
    });
    setParticipant(participant: RemoteParticipant | string | null): void;
    setAttached(attached: boolean): void;
    onAttached(): void;
    onDetached(): void;
    private onTrackUnpublished;
    private closeStream;
    private updateStream;
    private closeCurrentInput;
    private openStream;
    private onTrackSubscribed;
    private onTrackUnsubscribed;
    private createStream;
    close(): Promise<void>;
}
//# sourceMappingURL=_input.d.ts.map