import { type ComputedRef } from 'vue';
/**
 * Tracks whether the receiver's stream has a live video track.
 * Reacts to track additions, unmute, and ended events on the stream.
 * Returns null when stream is absent, video is disabled, or call is on hold.
 */
export declare function useReceiverLiveStream(receiverStream: ComputedRef<MediaStream | null | undefined>, videoEnabled: ComputedRef<boolean | undefined>, isOnHold: ComputedRef<boolean>): import("vue").Ref<{
    readonly active: boolean;
    readonly id: string;
    onaddtrack: (this: MediaStream, ev: MediaStreamTrackEvent) => any;
    onremovetrack: (this: MediaStream, ev: MediaStreamTrackEvent) => any;
    addTrack: (track: MediaStreamTrack) => void;
    clone: () => MediaStream;
    getAudioTracks: () => MediaStreamTrack[];
    getTrackById: (trackId: string) => MediaStreamTrack | null;
    getTracks: () => MediaStreamTrack[];
    getVideoTracks: () => MediaStreamTrack[];
    removeTrack: (track: MediaStreamTrack) => void;
    addEventListener: {
        <K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
        (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    };
    removeEventListener: {
        <K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
        (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
    };
    dispatchEvent: (event: Event) => boolean;
}, MediaStream | {
    readonly active: boolean;
    readonly id: string;
    onaddtrack: (this: MediaStream, ev: MediaStreamTrackEvent) => any;
    onremovetrack: (this: MediaStream, ev: MediaStreamTrackEvent) => any;
    addTrack: (track: MediaStreamTrack) => void;
    clone: () => MediaStream;
    getAudioTracks: () => MediaStreamTrack[];
    getTrackById: (trackId: string) => MediaStreamTrack | null;
    getTracks: () => MediaStreamTrack[];
    getVideoTracks: () => MediaStreamTrack[];
    removeTrack: (track: MediaStreamTrack) => void;
    addEventListener: {
        <K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
        (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    };
    removeEventListener: {
        <K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
        (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
    };
    dispatchEvent: (event: Event) => boolean;
}>;
