import { RoomSessionRecording, RoomSessionPlayback } from '@signalwire/core';
import { RealTimeRoomEvents, RealTimeVideoEvents, RealTimeVideoEventsHandlerMapping, RealTimeRoomEventsHandlerMapping, RealTimeVideoListenersEventsMapping, RealTimeVideoListeners } from '../types/video';
import { RoomSession } from './RoomSession';
import type { RoomSessionMember, RoomSessionMemberUpdated } from './RoomSessionMember';
import { SWClient } from '../SWClient';
import { BaseVideo } from './BaseVideo';
export declare class Video extends BaseVideo<RealTimeVideoListeners, RealTimeVideoEvents> {
    protected _eventChannel: string;
    protected _eventMap: RealTimeVideoListenersEventsMapping;
    constructor(options: SWClient);
    protected getSubscriptions(): ("room.started" | "room.ended")[];
    getRoomSessions(): Promise<{
        roomSessions: RoomSession[];
    }>;
    getRoomSessionById(id: string): Promise<{
        roomSession: RoomSession;
    }>;
}
export type { RealTimeRoomEvents, RealTimeRoomEventsHandlerMapping, RealTimeVideoEvents, RealTimeVideoEventsHandlerMapping, RoomSession, RoomSessionMember, RoomSessionMemberUpdated, RoomSessionPlayback, RoomSessionRecording, };
export type { ClientEvents, EmitterContract, EntityUpdated, GlobalVideoEvents, InternalVideoMemberEntity, LayoutChanged, MEMBER_UPDATED_EVENTS, MemberCommandParams, MemberCommandWithValueParams, MemberCommandWithVolumeParams, MemberJoined, MemberLeft, MemberListUpdated, MemberTalking, MemberTalkingEnded, MemberTalkingEventNames, MemberTalkingStart, MemberTalkingStarted, MemberTalkingStop, MemberUpdated, MemberUpdatedEventNames, PlaybackEnded, PlaybackStarted, PlaybackUpdated, RecordingEnded, RecordingStarted, RecordingUpdated, RoomEnded, RoomStarted, RoomSubscribed, RoomUpdated, SipCodec, VideoLayoutEventNames, VideoMemberContract, VideoMemberEntity, VideoMemberEventNames, VideoMemberType, VideoPlaybackEventNames, VideoPosition, VideoRecordingEventNames, } from '@signalwire/core';
//# sourceMappingURL=Video.d.ts.map