import * as _seastart_srtc_web_sdk from '@seastart/srtc-web-sdk';
import { JoinOptions, ImDisconnectEventData as ImDisconnectEventData$1, DisconnectEventData as DisconnectEventData$1, UserLeaveEventData, BuildInfo, CameraPreset, LocalCameraTrack, MicPreset, ScreenPreset, ScreenAudioPreset, RemoteVideoTrack, AudioOutputOptions, RemoteAudioTrack, LocalMicTrack, EnvWebInfo } from '@seastart/srtc-web-sdk';
export { ActiveSpeakerInfo, ActiveSpeakersEventData, CameraPreset, LocalCameraTrack, LocalMicTrack, LocalScreenTrack, MicPreset, RemoteAudioTrack, RemoteVideoTrack, ScreenPreset } from '@seastart/srtc-web-sdk';
import { DisconnectReason as DisconnectReason$1, LogLevel, LogTarget, DeviceType, ImEventType } from '@seastart/srtc-web-sdk';
export { DeviceType, LogLevel, LogTarget } from '@seastart/srtc-web-sdk';

/** 轨道描述 */
declare enum TrackDesc {
    /** 麦克风流 */
    MIC = "mic",
    /** 摄像头大流 */
    CAMERAL_BIG = "camera_big",
    /** 摄像头小流 */
    CAMERAL_SMALL = "camera_small",
    /** 桌面共享流 */
    SCREEN = "screen",
    /**
     * 第二路屏幕共享流（独立于 SCREEN）。
     * 用于"所有人都推屏幕，由业务层决定谁是主讲"的场景。
     * 不影响 RoomInfo.share_state / share_uid，不触发 ROOM_SHARE_START 事件。
     */
    EXTRA_SCREEN = "extra_screen",
    /**
     * 高拍仪专用轨道（独立于 SCREEN / EXTRA_SCREEN）。
     * 仅视频；需要主讲展示高拍仪画面时推这一路，
     * 不干扰 EXTRA_SCREEN（现场画面）的永久推送。
     */
    DOCUMENT_CAMERA = "document_camera"
}
/**
 * 举手类型
 */
declare enum HandupType {
    /**
     * 申请开麦克风
     */
    Mic = 1,
    /**
     * 申请开摄像头
     */
    Camera = 2,
    /**
     * 申请聊天
     */
    Chat = 3,
    /**
     * 申请共享
     */
    Share = 4
}
/**
 * 用户举手动作步骤
 */
declare enum UserHandupStep {
    /**
     * 请求举手
     */
    Request = 1,
    /**
     * 取消举手
     */
    Cancel = 2,
    /**
     * 确认打开设备
     */
    ConfirmOpen = 3,
    /**
     * 拒绝打开设备
     */
    RejectOpen = 4
}
/**
 * 摄像头状态
 */
declare enum CameraState {
    /**
     * 开
     */
    On = 1,
    /**
     * 关
     */
    Off = 2
}
/**
 * 麦克风状态
 */
declare enum MicState {
    /**
     * 开
     */
    On = 1,
    /**
     * 关
     */
    Off = 2
}
/**
 * 房间共享类型
 */
declare enum ShareType {
    /**
     * 屏幕共享
     */
    Screen = 1,
    /**
     * 电子白板s
     */
    WhiteBoard = 2
}
/**
 * 共享状态
 */
type ShareState = 0 | ShareType;
/**
 * 角色类型
 */
declare enum Role {
    /**
     * 普通成员
     */
    Member = 0,
    /**
     * 主持人
     */
    Host = 1,
    /**
     * 联席主持人
     */
    CoHost = 2
}
/**
 * 聊天消息类型
 */
declare enum ChatMsgType {
    /**
     * 文本
     */
    Text = 1,
    /**
     * 文件
     */
    File = 2,
    /**
     * 图片
     */
    Pic = 3,
    /**
     * 语音
     */
    Sound = 4
}
/**
 * 用户离开房间的原因
 */
type DisconnectReason = DisconnectReason$1;
/**
 * 会议类型
 */
declare enum MeetingType {
    /** 即时会议 */
    Instant = 1,
    /** 预约会议 */
    Appointment = 2
}
/**
 * 会议状态
 */
declare enum MeetingStatus {
    /** 未开始 */
    UnStart = 1,
    /** 进行中 */
    Running = 2,
    /** 已结束 */
    End = 3
}
/**
 * 会议限制类型
 */
declare enum AttendType {
    /** 无限制 */
    UnLimit = 1,
    /** 密码进入 */
    Password = 2,
    /** 仅邀请人员参会 */
    Invite = 3,
    /** 密码 + 仅邀请人员参会 */
    PasswordAndInvite = 4
}
/**
 * 会议结束方式
 */
declare enum EndType {
    /** 正常(延迟)结束 */
    Normal = 0,
    /** 强制结束(默认) */
    Force = 1
}
/**
 * 入会静音状态
 */
declare enum EntryMutePolicy {
    /** 开启入会静音(所有人入会默认静音) */
    Silent = 1,
    /** 不限制，跟随客户端初始音频状态 */
    UnRestrict = 2,
    /** 超6人静音(超过6人后入会静音) */
    SilentAfter6 = 3
}
/**
 * 流供应商
 */
declare enum StreamVendor {
    /** ook流媒体 */
    Ook = "ook",
    /** seastart流媒体 */
    Seastart = "seastart",
    /** 网宿cdn */
    WangsuCDN = "wangsucdn"
}
/**
 * 登录sdk的token信息
 */
interface MeetingToken {
    /** 应用ID */
    app_id: string;
    /** 用户ID */
    user_id: string;
    /** 用户昵称 */
    nickname: string;
    /** 过期时间 */
    exp_at: number;
    /** 客户端密钥 */
    client_key: string;
    /** sdk接口前缀 */
    client_api: string;
    /** 网络 */
    net: string;
    /** 服务分组 */
    sg: string;
}
/**
 * 用户类型
 */
declare enum UserType {
    /** 普通用户 */
    Normal = 1,
    /** SIP用户 */
    SIP = 2,
    /** H323用户 */
    H323 = 3
}
/**
 * sdk构造参数
 */
interface SdkInitParams {
    /** 日志等级 */
    logLevel?: LogLevel;
    /** 日志目标 */
    logTarget?: LogTarget;
}
declare enum MeetingMode {
    /** 普通模式(非合成)  */
    Normal = 1,
    /** 合成模式 */
    Mix = 2,
    /** 语音会议 */
    Voice = 3,
    /** 培训会议 */
    Training = 4,
    /** 分会场（小组） */
    SubMeeting = 5
}
/**
 * 创建/修改会议参数
 */
interface MeetingCreateReq {
    /** 房间号 */
    room_no?: string;
    /** 会议标题 */
    title: string;
    /** 会议说明 */
    content?: string;
    /** 会议限制类型(默认无限制) */
    attend_type?: AttendType;
    /** 参会人员用户id */
    conferee?: string[];
    /** 联席主持人用户id */
    co_hosts?: string[];
    /** 最大参会人数 */
    maximum?: number;
    /** 会议结束方式 */
    end_type?: EndType;
    /** 入会密码 */
    password?: string;
    /** 会议类型 1:即时会议(默认) 2：预约会议 */
    meeting_type?: MeetingType;
    /** 开始时间(时间戳秒) */
    plan_time?: number;
    /** 会议时长(单位分钟) */
    plan_dur?: number;
    /** 入会静音选项 */
    entry_mute_policy?: EntryMutePolicy;
    /** 水印是否关闭 */
    watermark_disabled?: boolean;
    /** 截屏是否禁止 */
    screenshot_disabled?: boolean;
    /** 房间禁聊天 */
    chat_disabled?: boolean;
    /** 是否关闭等候室 */
    waiting_room_disabled?: boolean;
    /** 在主持人前入会禁止 */
    enter_before_host_disabled?: boolean;
    /** 扩展字段 */
    extend_info?: string;
    /** 会议模式(默认普通模式) */
    meeting_mode: MeetingMode;
    /** 布局 */
    layout_data?: LayoutData;
    /** 是否开启录制 */
    auto_record?: boolean;
    /** 背景图像 */
    background?: string;
    /** 会议资料 */
    attachments?: Attachments[];
}
interface Attachments {
    name: string;
    key: string;
}
/**
 * 加入会议参数
 */
/** 会议入会公共参数 */
interface MeetingEnterBase {
    /** 入会密码 */
    password?: string;
    /** 会中昵称 */
    nickname: string;
    /** 会中头像 */
    avatar?: string;
    /** 扩展字段 */
    extend_info?: string;
    /** 流供应商 */
    stream_vendor?: StreamVendor;
}
/** 会议入会请求参数(meeting_id 与 room_no 二选一) */
type MeetingEnterReq = MeetingEnterBase & ({
    meeting_id: string;
    room_no?: never;
} | {
    meeting_id?: never; /** 房间号 */
    room_no: string;
});
/**
 * 会议入会媒体选项。
 * 默认会开启 adaptiveStream，调用方可显式传 false 覆盖。
 */
type MeetingEnterOptions = JoinOptions;
/**
 * 房间信息
 */
interface RoomInfo {
    app_id: string;
    /** 会议ID */
    id: string;
    /** 主会场id */
    parent: string;
    /** 房间号 */
    room_no: string;
    /** 会议标题 */
    title: string;
    /** 会议说明 */
    content: string;
    /** 会议类型，1即时会议, 2预约会议 */
    meeting_type: MeetingType;
    /** 会议模式 1 普通模式 2 合成模式 3 语音会议 4 培训会议 */
    meeting_mode: MeetingMode;
    /** 会议时长(单位分钟) */
    plan_dur: number;
    /** 计划开始时间，unix时间戳(秒) */
    plan_time: number;
    /** 入会静音选项，1 入会默认静音，2 跟随客户端初始音频状态，3 超过6人后入会静音 */
    entry_mute_policy: EntryMutePolicy;
    /** 关水印设置，false不限, true关水印 */
    watermark_disabled: boolean;
    /** 禁截屏设置，false不限, true禁截屏 */
    screenshot_disabled: boolean;
    /** 禁聊设置，false不限, true禁聊 */
    chat_disabled: boolean;
    /** 静音设置，false不限, true静音 */
    mic_disabled: boolean;
    /** 禁画设置，false不限, true禁画 */
    camera_disabled: boolean;
    /** 禁共享设置，false不限, true禁共享 */
    share_disabled: boolean;
    /** 禁自我解除静音，false不限, true禁解除 */
    self_unmute_mic_disabled: boolean;
    /** 禁自我解除禁画，false不限, true禁解除 */
    self_unmute_camera_disabled: boolean;
    /** 等候室禁用，false不限, true禁用 */
    waiting_room_disabled: boolean;
    /** 在主持人前入会禁止 */
    enter_before_host_disabled: boolean;
    /** 房间锁定状态，false不限, true锁定 */
    locked: boolean;
    /** 入会密码 */
    password: string;
    /** 共享状态，0无, 1屏幕, 2白板 */
    share_state: ShareState;
    /** 录制状态，0未开始, 1进行中, 2待结束 3异常结束 4正常结束 */
    record_status: number;
    /** 共享者ID */
    share_uid: string;
    /** 创建者ID */
    creator: string;
    /** 主持人ID */
    host_uid: string;
    /** 联席主持ID列表 */
    co_hosts: string[];
    /** 自定义扩展，json串表示的键值对 */
    extend_info: string;
}
/**
 * 用户信息
 */
interface UserInfo {
    /** 用户id */
    uid: string;
    /** 会中昵称 */
    name: string;
    /** 设备类型 */
    device_type: DeviceType;
    /** 设备ID */
    device_id: string;
    /** 客户端sdk版本号 */
    version: string;
    /** 进入时间 */
    join_at: number;
    /** 会中角色，0普通, 1主持, 2联席主持 */
    role: Role;
    /** 会中头像 */
    avatar: string;
    /** 麦克风状态，1开, 2关 */
    mic_state: MicState;
    /** 摄像头状态，1开, 2关 */
    camera_state: CameraState;
    /** 共享状态，0无, 1屏幕, 2白板 */
    share_state: ShareState;
    /** 是否被踢出，false正常, true被踢 */
    is_kickout: boolean;
    /** 禁聊设置，false不限, true禁聊 */
    chat_disabled: boolean;
    /** 自定义扩展，json串表示的键值对 */
    extend_info: string;
    /** 当前 RTC 已发布的轨道描述列表（来自 stream_tracks 的 desc 字段） */
    track_descs: string[];
}
/**
 * 当前会议
 */
interface Room {
    /**
     * 当前会议信息
     */
    info: RoomInfo;
    /**
     * 当前会议中用户
     */
    users: Record<string, UserInfo>;
}
/**
 * 会议信息
 */
interface MeetingInfo {
    /** 会议ID */
    id: string;
    /** 会议标题 */
    title: string;
    /** 房间号 */
    room_no: string;
    /** 会议限制类型 */
    attend_type: AttendType;
    /** 会议类型 */
    meeting_type: MeetingType;
    /** 会议模式 */
    meeting_mode: MeetingMode;
    /** 是否开启录制 */
    auto_record: boolean;
    /** 布局数据 */
    layout_data: LayoutData;
    /** 会议状态 */
    meeting_status: MeetingStatus;
    /** 水印是否关闭 */
    watermark_disabled: boolean;
    /** 截屏是否禁止 */
    screenshot_disabled: boolean;
    /** 房间禁聊天 */
    chat_disabled: boolean;
    /** 是否关闭等候室 */
    waiting_room_disabled: boolean;
    /** 在主持人前入会禁止 */
    enter_before_host_disabled: boolean;
    /** 参会人员用户id */
    conferee: string[];
    /** 联席主持人用户id */
    co_hosts?: string[];
    /** 最大参会人数 */
    maximum?: number;
    /** 会议结束方式 */
    end_type?: EndType;
    /** 会议计划时间 */
    plan_time: number;
    /** 会议时长(秒) */
    plan_dur: number;
    /** 会议开始时间 */
    begin_time: number;
    /** 会议结束时间 */
    end_time: number;
    /** 会议创建时间 */
    created_at: number;
    /** 会议创建者 */
    creator: string;
    /** 会议密码 */
    password: string;
    /** 自定义扩展 */
    extend_info: string;
}
/**
 * 分页参数
 */
interface PageParam {
    /** 当前页码 */
    page: number;
    /** 每页条数 */
    'per-page': number;
}
/**
 * 分页数据
 */
interface MetaRes {
    totalCount: number;
    pageCount: number;
    currentPage: number;
    perPage: number;
}
/**
 * 参会人员信息
 */
interface ParticipantInfo {
    /** id */
    id: string;
    /** 参会人员用户id */
    user_id: string;
    /** 参会人员昵称 */
    nickname: string;
    /** 进入时间 */
    enter_at: number;
    /** 离开时间 */
    exit_at: number;
}
/**
 * 聊天消息信息（历史消息列表项）
 */
interface ChatMsgInfo {
    /** 消息id */
    id: string;
    /** 会议ID */
    meeting_id: string;
    /** 消息内容（文件/图片等为JSON字符串） */
    msg: string;
    /** 消息类型 */
    msg_type: ChatMsgType;
    /** 发送者id */
    sender_id: string;
    /** 发送者名称 */
    sender_name: string;
    /** 创建时间（秒级时间戳） */
    created_at: number;
}
/**
 * 入会设备类型
 */
declare enum AgentType {
    /** SIP */
    SIP = 2,
    /** H323 */
    H323 = 3,
    /** GB28181 */
    GB28181 = 4,
    /** RTSP拉流 */
    RTSP = 5,
    /** RTMP拉流 */
    RTMP = 6,
    /** 文件播放 */
    FilePlay = 7,
    /** 腾讯会议 */
    TencentMeet = 8,
    /** AI */
    AI = 9
}
/**
 * 入会设备状态
 */
declare enum AgentStatus {
    /** 空闲 */
    Idle = 1,
    /** 忙碌 */
    Busy = 2,
    /** 离线 */
    Offline = 3
}
/**
 * 入会设备信息
 */
interface AgentInfo {
    /** 设备ID */
    id: string;
    /** 设备名称 */
    name: string;
    /** 设备类型 */
    type: AgentType;
    /** 设备状态 */
    status: AgentStatus;
    /** 设备标识 */
    contact: string;
    /** 备注 */
    remark: string;
}
/** 水印 */
interface Watermark {
    /** 类型 0默认, 1无, 2单排, 3多排 */
    type: number;
    /** 指定内容, 空表示自动(会议标题) */
    text: string;
    /** 字体大小, 0表示默认 */
    size?: number;
    /** 字体颜色, 空表示默认 */
    color?: string;
    /** 轮廓颜色, 空表示默认值 */
    ol_color?: string;
    /** 轮廓线宽, 0表示默认值 */
    ol_width?: number;
}
/** 标签 */
interface Tag {
    /** 字母或组合: L左, R右, T上, B下 */
    type: string;
    /** 指定内容, 空表示自动(会中名称) */
    text: string;
    /** 字体大小, 0表示默认 */
    size?: number;
    /** 字体颜色, 空表示默认 */
    color?: string;
    /** 背景颜色, 空表示默认 */
    bg_color?: string;
}
/** 宫格 */
interface Cell {
    /** 格子序号, 排序规则按HTML中标签的顺序 */
    idx: number;
    /** 是否优化绑定会议内的共享流 */
    bind_share: boolean;
    /** 标签 */
    tag: Tag;
}
/** 逻辑块 */
interface DivList {
    /** 宫格列表, 空表示剩余格子共用此处的用户 */
    cell: Cell[];
    /** 用户ID列表, 空表示大轮询在线剩余用户, 多个表示小轮询 */
    uids: string[];
}
/** 布局类型 */
declare enum LayoutType {
    /** 自动布局 */
    Auto = "auto",
    /** 全屏 */
    Full = "full",
    /** 二等分 */
    Grids2 = "grids_2",
    /** 品字形 */
    Grids3 = "grids_3",
    /** 四宫格 */
    Grids4 = "grids_4",
    /** 五宫格 */
    Grids5 = "grids_5",
    /** 六宫格 */
    Grids6 = "grids_6",
    /** 八宫格 */
    Grids8 = "grids_8",
    /** 九宫格 */
    Grids9 = "grids_9",
    /** 十宫格 */
    Grids10 = "grids_10",
    /** 十二宫格 */
    Grids12 = "grids_12",
    /** 十六宫格 */
    Grids16 = "grids_16",
    /** 二十宫格 */
    Grids20 = "grids_20",
    /** 二十五宫格 */
    Grids25 = "grids_25",
    /** 右侧小窗口 */
    Right4 = "right_4",
    /** 顶部小窗口 */
    Top4 = "top_4",
    /** 下L型布局 */
    Br7 = "br_7",
    /** 上L型布局 */
    Tl7 = "tl_7",
    /** 左右布局 */
    Tb8 = "tb_8"
}
/** 布局数据 */
interface LayoutData {
    /** 布局类型 */
    layout: LayoutType;
    /** 轮询间隔 0表示不轮询 */
    polling_dur?: number;
    /** 水印 */
    watermark?: Watermark;
    /** 标签 */
    tag?: Tag;
    /** 逻辑块列表 */
    div_list?: DivList[];
}
/**
 * 开启录制请求参数
 */
interface McuStartReq {
    /** 1录像模式 2合流模式 3混合模式 */
    task_type: McuTaskType;
    /** 录制文件标题 */
    title: string;
    /** 操作人 */
    user_name: string;
    /** 布局  */
    layout_data: LayoutData;
}
/**
 * 录制配置信息
 */
interface McuRecordConfig {
    /** app_id */
    app_id: string;
    /** 布局类型 */
    layout: LayoutType;
    /** 水印类型  0默认, 1无, 2单排, 3多排 */
    watermark_type: number;
    /** 标签类型 字母或组合: L左, R右, T上, B下 */
    window_tag_type: string;
    /** 创建时间 */
    created_at: number;
    /** 更新时间 */
    updated_at: number;
}
/**
 * 录制配置详情
 */
interface McuRecordDetail {
    /** 任务id */
    id: string;
    /** 操作人ID */
    op_uid: string;
    /** 操作人 */
    op_name: string;
    /** 会议id */
    channel: string;
    /** 会议标题 */
    title: string;
    /** 会议号 */
    room_no: string;
    /** 任务类型 */
    task_status: McuTaskStatus;
    /** 任务状态描述 */
    err_desc: string;
    /** 录制文件key */
    vod_key: string;
    /** 录制文件大小 */
    vod_size: number;
    /** 录制时间 */
    mcu_at: number;
    /** 录制时长 */
    mcu_dur: number;
    /** 标签 */
    tags: string;
    /** 创建时间 */
    created_at: number;
    /** 更新时间 */
    updated_at: number;
    /** 服务器当前时间(秒)，用于前端本地时间不准时辅助计算录制时长 */
    now: number;
}
/**
 * mcu任务类型
 */
declare enum McuTaskType {
    /** 录像模式 */
    Record = 1,
    /** 合流模式 */
    Mix = 2,
    /** 混合模式 */
    MixAndRecord = 3
}
/**
 * mcu任务状态
 */
declare enum McuTaskStatus {
    /** 进行中 */
    Running = 1,
    /** 异常结束 */
    Exception = 2,
    /** 正常结束 */
    Normal = 3
}
/**
 * 预签名上传类型
 */
declare enum PresignedPutObjectType {
    /** 附件 */
    Attach = "attach",
    /** 背景图 */
    Background = "background",
    /** 用户 */
    User = "user",
    /** 聊天 */
    Chat = "chat"
}
/**
 * 预签名上传参数
 */
interface PresignedPutObjectReq {
    type: PresignedPutObjectType;
    meeting_id: string;
    ext: string;
}
/**
 * -资源列表参数
 */
interface ResourceListReq extends PageParam {
    parent_id?: string;
    meeting_id?: string;
    res_name?: string;
    res_type?: string;
}
/**
 * 更新背景与附件参数
 */
interface MeetUpdateBgAndAttachReq {
    /** 会议id */
    meeting_id: string;
    /** 背景图 */
    background: string;
    /** 附件 */
    attachments: Attachments[];
}
/**
 * 资料信息
 */
interface ResourceInfo {
    /** 资料id */
    id: string;
    /** 用户id */
    user_id: string;
    /** 会议id */
    meeting_id: string;
    /** 上级ID */
    parent_id: string;
    /** 是否文件夹 */
    is_folder: boolean;
    /** 类型 folder, jpg, pdf, doc 等 */
    res_type: string;
    /** 资源Key 在res_key不为folder时必填 */
    res_key: string;
    /** 资源名称 */
    res_name: string;
    /** 资源大小 */
    res_size: number;
    /** 资源创建时间 */
    created_at: string;
    /** 资料更新时间 */
    updated_at: string;
}
/** 资源创建参数 */
interface ResourceCreateReq {
    /** 会议id */
    meeting_id?: string;
    /** 上级ID */
    parent_id?: string;
    /** 资源名称 */
    res_name: string;
    /** //资源Key 在res_key不为folder时必填 */
    res_type: string;
    /** 资源Key */
    res_key?: string;
}
/** 签到信息 */
interface SignInfo {
    /** 发起者 */
    uid: string;
    /** 活动开始时间 */
    begin_at: number;
    /** 活动时长(分钟), 0表示不限时 */
    dur: number;
    /** 活动结束时间, 0表示不限时且未结束 */
    end_at: number;
    /** 活动描述 */
    desc: string;
    /** 所有签到人数, 0表示活动未结束 */
    nums: number;
}
/** 签到详情信息 */
interface SignDetailInfo {
    /** 签到id */
    id: string;
    /** 签到时间 */
    epoch: number;
    /** 昵称 */
    nickname: string;
    /** 角色 */
    role: Role;
    /** 用户id */
    user_id: string;
    /** 创建时间 */
    created_at: number;
}
/** 未入会人员信息 */
interface NoEnterUserInfo {
    /** 用户id */
    id: string;
    /** 昵称 */
    nickname: string;
    /** 手机号 */
    mobile: string;
    /** 头像 */
    avatar: string;
    /** 用户角色 */
    role: Role;
    /** 关联的用户ID */
    rel_uid: string;
}
/** 等候室人员信息 */
interface WaitingRoomUserInfo {
    /** 用户id */
    user_id: string;
    /** 昵称 */
    name: string;
    /** 头像 */
    avatar: string;
    /** 进入时间 */
    at: string;
}
/** 子会议(小组)信息 */
interface SubMeetingInfo {
    /** 子会议(小组)id */
    id: string;
    /** 主会议id */
    main_meeting_id: string;
    /** 关联的(子)会议ID */
    meeting_id: string;
    /** 子会议(小组)标题 */
    title: string;
    /** 子会议(小组)用户列表 */
    users: {
        uid: string;
        name: string;
    }[];
    /** 会议状态 */
    status: MeetingStatus;
}
/** 在线人员信息 */
interface OnlineMemberInfo {
    /** 用户id */
    user_id: string;
    /** 昵称 */
    nickname: string;
    /** 设备类型 */
    device_type: string;
    /** 进入时间 */
    join_at: string;
}
/**
 * 点名方式
 */
declare enum RollCallMethod {
    /** 自动点名 */
    Auto = 1,
    /** 手动点名 */
    Manual = 2
}
/**
 * 点名状态
 */
declare enum RollCallStatus {
    /** 正在点名 */
    Running = 1,
    /** 已结束 */
    Ended = 2
}
/**
 * 点名用户状态
 */
declare enum RollCallUserStatus {
    /** 未点名 */
    UnCalled = 0,
    /** 已点名未应答 */
    Called = 1,
    /** 已应答 */
    Answered = 2
}
/** 点名列表项信息 */
interface RollCallInfo {
    /** 点名id */
    id: string;
    /** 点名标题 */
    title: string;
    /** 点名方式 1自动 2手动 */
    method: RollCallMethod;
    /** 会议标题 */
    meeting_title: string;
    /** 点名人数 */
    total: number;
    /** 点名状态 1正在点名 2已结束 */
    status: RollCallStatus;
    /** 创建时间(时间戳秒) */
    created_at: number;
}
/** 点名详情中的用户信息 */
interface RollCallUserInfo {
    /** 点名用户id（呼叫和应答时使用） */
    id: string;
    /** 用户id */
    user_id: string;
    /** 用户昵称 */
    user_name: string;
    /** 呼叫时间(时间戳秒，未呼叫为0) */
    roll_call_at: number;
    /** 应答时间(时间戳秒，未应答为0) */
    answer_at: number;
    /** 状态 0未点名 1已点名未应答 2已应答 */
    status: RollCallUserStatus;
}
/** 点名详情 */
interface RollCallDetail {
    /** 点名id */
    id: string;
    /** 点名标题 */
    title: string;
    /** 点名方式 1自动 2手动 */
    method: RollCallMethod;
    /** 会议标题 */
    meeting_title: string;
    /** 点名人数 */
    total: number;
    /** 点名状态 1正在点名 2已结束 */
    status: RollCallStatus;
    /** 用户列表 */
    users: RollCallUserInfo[];
    /** 创建时间(时间戳秒) */
    created_at: number;
}

/** 房间事件通知 */
declare class RoomEvent {
    /** 事件类型 */
    type: CommonRoomEventType;
    /** 事件携带的数据 */
    data?: any;
    constructor(type: CommonRoomEventType, data?: any);
}
/** 房间事件类型 */
declare class CommonRoomEventType {
    /** 开始断线自动重连，无data */
    static readonly RECONNECTING = "reconnecting";
    /** 重连成功，断线重连成功后会触发，无data */
    static readonly RECONNECTED = "reconnected";
    /** 自己被强制退出会议，对应data为 DisconnectEventData */
    static readonly DISCONNECTED = "disconnected";
    /** 其他用户进入会议，对应data为 UserInfo */
    static readonly USER_ENTER = "user_enter";
    /** 其他用户退出会议，对应data为 UserExitEventData */
    static readonly USER_EXIT = "user_exit";
    /** 用户摄像头状态变化(自己/他人主动改变或被主持人改变)，对应data为 UserCameraStateChangeEventData */
    static readonly USER_CAMREA_STATE_CHANGED = "user_camera_state_changed";
    /**
     * 用户额外屏幕共享流(EXTRA_SCREEN)开/关状态变化。
     * 对应 data 为 UserExtraScreenChangeEventData。
     * 用于多人同时推 EXTRA_SCREEN 场景，接收侧据此决定 (重)订阅 / 释放。
     */
    static readonly USER_EXTRA_SCREEN_CHANGED = "user_extra_screen_changed";
    /** 用户麦克风状态变化(自己/他人主动改变或被主持人改变)，对应data为 UserMicStateChangeEventData */
    static readonly USER_MIC_STATE_CHANGED = "user_mic_state_changed";
    /** 用户昵称变化(自己/他人主动改变或被主持人改变)，对应data为 UserNameChangeEventData */
    static readonly USER_NAME_CHANGED = "user_name_changed";
    /** 用户角色变化，对应data为 UserRoleChangeEventData */
    static readonly USER_ROLE_CHANGED = "user_role_changed";
    /** 用户聊天禁用状态变化，对应data为 UserChatDisabledChangeEventData */
    static readonly USER_CHAT_DISABLED_CHANGED = "user_chat_disabled_changed";
    /** 用户举手相关事件(管理员才会收到)，对应data为 UserHandupEventData */
    static readonly USER_HANDUP = "user_handup";
    /** 房间摄像头禁用状态改变，对应data为 RoomCameraStateChangeEventData */
    static readonly ROOM_CAMREA_STATE_CHANGED = "room_camera_state_changed";
    /** 房间麦克风禁用状态改变，对应data为 RoomMicStateChangeEventData */
    static readonly ROOM_MIC_STATE_CHANGED = "room_mic_state_changed";
    /** 房间共享禁用状态改变，对应data为 RoomShareStateChangeEventData */
    static readonly ROOM_SHARE_STATE_CHANGED = "room_share_state_changed";
    /** 房间聊天禁用状态改变，对应data为 RoomChatDisabledChangeEventData */
    static readonly ROOM_CHAT_DISABLED_CHANGED = "room_chat_disabled_changed";
    /** 房间截屏禁用状态改变，对应data为 RoomScreenshotDisabledChangeEventData */
    static readonly ROOM_SCREENSHOT_DISABLED_CHANGED = "room_screenshot_disabled_changed";
    /** 房间水印禁用状态改变，对应data为 RoomWatermarkDisabledChangeEventData */
    static readonly ROOM_WATERMARK_DISABLED_CHANGED = "room_watermark_disabled_changed";
    /** 房间锁定状态改变，对应data为 RoomLockedChangeEventData */
    static readonly ROOM_LOCKED_CHANGED = "room_locked_changed";
    /** 房间共享开始，对应data为 RoomShareStartEventData */
    static readonly ROOM_SHARE_START = "room_share_start";
    /** 房间共享结束，对应data为 RoomShareStopEventData */
    static readonly ROOM_SHARE_STOP = "room_share_stop";
    /** 房间聊天消息，对应data为 RoomChatMsgEventData */
    static readonly ROOM_CHAT_MSG = "room_chat_msg";
    /** 房间自定义消息，对应data为 RoomCustomMsgEventData */
    static readonly ROOM_CUSTOM_MSG = "room_custom_msg";
    /** 房间mcu任务，对应data为 RoomMcuTaskEventData */
    static readonly ROOM_MCU_TASK = "room_mcu_task";
    /** 房间加入失败事件，对应data为 RoomJoinFailedEventData */
    static readonly ROOM_JOIN_FAILED = "room_join_failed";
    /** 会中签到活动消息 ，对应data为 RoomSignInActivityEventData */
    static readonly SIGN_IN_ACTIVITY = "sign_in_activity";
    /** 会中签到活动手动/自动结束事件，对应data为 SignInFinishEventData */
    static readonly SIGN_IN_FINISH = "sign_in_finish";
    /** 会中用户进入等候室事件，对应data为 UserEnterWaitingRoomEventData */
    static readonly USER_ENTER_WAITING_ROOM = "user_enter_waiting_room";
    /** 会中用户离开等候室事件，对应data为 UserExitWaitingRoomEventData */
    static readonly USER_EXIT_WAITING_ROOM = "user_exit_waiting_room";
    /** 等待室禁用状态改变事件，对应data为 AdminUpdateWaitingRoomDisabledEventData */
    static readonly ADMIN_UPDATE_WAITING_ROOM_DISABLED = "admin_update_waiting_room_disabled";
    /** 移进等候室消息 - 会内私发给普通成员，对应data为 null */
    static readonly ADMIN_MOVE_IN_WAITING_ROOM = "admin_move_in_waiting_room";
    /** 主持人开始子会议，对应data为 AdminStartSubMeetingEventData */
    static readonly ADMIN_START_SUB_MEETING = "admin_start_sub_meeting";
    /** 主持人结束子会议，对应data为 AdminStopSubMeetingEventData */
    static readonly ADMIN_STOP_SUB_MEETING = "admin_stop_sub_meeting";
    /** 小组间或主会场相互移动用户，对应data为 AdminMoveSubMeetingUserEventData */
    static readonly ADMIN_MOVE_SUB_MEETING_USER = "admin_move_sub_meeting_user";
    /** 会中点名消息，对应data为 RollCallNamedEventData */
    static readonly ROLL_CALL_NAMED = "roll_call_named";
    /** 主持人处理您的举手申请，对应data为 AdminConfirmHandupEventData */
    static readonly ADMIN_CONFIRM_HANDUP = "admin_confirm_handup";
    /** 主持人请求您开麦，对应data为 AdminRequestOpenMicEventData */
    static readonly ADMIN_REQUEST_OPEN_MIC = "admin_request_open_mic";
    /** 主持人请求您开摄像头，对应data为 AdminRequestOpenCameraEventData */
    static readonly ADMIN_REQUEST_OPEN_CAMERA = "admin_request_open_camera";
}
/** IM事件类型 */
declare class CommonImEventType {
    /** 开始断线自动重连，无data */
    static readonly RECONNECTING = "reconnecting";
    /** 重连成功，断线重连成功后会触发，无data */
    static readonly RECONNECTED = "reconnected";
    /** 自己被强制断开会议外消息连接，对应data为 ImDisconnectEventData */
    static readonly DISCONNECTED = "disconnected";
    /** 开始呼叫，对应data为 ImCallCallingEventData */
    static readonly CALL_CALLING = "call_calling";
    /** 会议提醒，对应data为 ImMeetingRemindEventData */
    static readonly MEETING_REMIND = "meeting_remind";
    /** 移出等候室消息 - IM私发给普通成员，对应data为 null */
    static readonly ADMIN_MOVE_OUT_WAITING_ROOM = "admin_move_out_waiting_room";
    /** 小组请求帮助 - IM私发给主持人/联席，对应data为 null */
    static readonly USER_HELP_SUB_MEETING = "user_help_sub_meeting";
}
/**
 * IM事件通知
 */
declare class ImEvent {
    /** 事件类型 */
    type: ImEventType;
    /** 事件携带的数据 */
    data?: any;
    constructor(type: ImEventType, data?: any);
}
interface ImBaseEventData {
    /** 消息类型 */
    /** 会话ID */
    sid: string;
    /** 用户ID */
    uid: string;
    /** 用户名 */
    name: string;
    /** 用户头像 */
    avatar?: string;
}
/** 会中呼叫事件data */
interface ImCallCallingEventData extends ImBaseEventData {
    /** 会话内容 */
    content: {
        /** 房间号 */
        room_no: string;
        /** 会议ID */
        meeting_id: string;
        /** 会议标题 */
        title: string;
        /** 是否强制加入 */
        force_join: boolean;
    };
}
/** 会议提醒事件data */
interface ImMeetingRemindEventData extends ImBaseEventData {
    /** 会话内容 */
    content: {
        /** 房间号 */
        room_no: string;
        /** 会议ID */
        meeting_id: string;
        /** 会议标题 */
        title: string;
        /** 创建者 */
        creator_name: string;
        /** 预计时长 */
        plan_dur: number;
        /** 预计开始时间 */
        plan_time: number;
        /** 是否强制加入 */
        force_join: boolean;
    };
}
/** 移出等候室消息 - IM私发给普通成员，对应data为 null */
interface ImAdminMoveOutWaitingRoomEventData extends ImBaseEventData {
    /** 会话内容 */
    content: {
        /** 主会场会议ID */
        parent: string;
        /** 分会场会议ID */
        meeting_id: string;
        /** 小组名称 */
        title: string;
    };
}
/** 小组请求帮助 - IM私发给主持人/联席，对应data为 null */
interface ImUserHelpSubMeetingEventData extends ImBaseEventData {
    /** 会话内容 */
    content: {
        /** 主会场会议ID */
        parent: string;
        /** 分会场会议ID */
        meeting_id: string;
        /** 小组名称 */
        title: string;
    };
}
/**
 * IM断开连接事件数据
 */
type ImDisconnectEventData = ImDisconnectEventData$1;
/**
 * 强制离开事件data
 */
type DisconnectEventData = DisconnectEventData$1;
/**
 * 用户离开事件data
 */
type UserExitEventData = UserLeaveEventData;
/**
 * 用户摄像头状态变化事件
 */
interface UserCameraStateChangeEventData {
    /** 用户 */
    uid: string;
    /** 摄像头状态 */
    camera_state: CameraState;
    /** 是否管理员操作 */
    by_admin: boolean;
    /** 操作者用户id */
    op_uid?: string;
}
/**
 * 用户额外屏幕共享流(EXTRA_SCREEN)开/关变化事件
 */
interface UserExtraScreenChangeEventData {
    /** 用户 */
    uid: string;
    /** 是否处于推流中 */
    active: boolean;
}
/**
 * 用户麦克风状态变化事件
 */
interface UserMicStateChangeEventData {
    /** 用户 */
    uid: string;
    /** 麦克风状态 */
    mic_state: MicState;
    /** 是否管理员操作 */
    by_admin: boolean;
    /** 操作者用户id */
    op_uid?: string;
}
/**
 * 用户昵称变化事件
 */
interface UserNameChangeEventData {
    /** 用户 */
    uid: string;
    /** 昵称 */
    nickname: string;
    /** 是否管理员操作 */
    by_admin: boolean;
    /** 操作者用户id */
    op_uid?: string;
}
/**
 * 用户角色变化事件
 */
interface UserRoleChangeEventData {
    /** 用户 */
    uid: string;
    /** 角色 */
    role: Role;
    /** 操作者用户id */
    op_uid?: string;
}
/**
 * 用户聊天禁用状态事件
 */
interface UserChatDisabledChangeEventData {
    /** 用户 */
    uid: string;
    /** 聊天禁用状态 */
    chat_disabled: boolean;
    /** 操作者用户id */
    op_uid?: string;
}
/**
 * 管理员收到用户举手相关事件
 */
interface UserHandupEventData {
    /** 用户 */
    uid: string;
    /** 举手类型 */
    type: HandupType;
    /** 举手步骤 */
    step: UserHandupStep;
}
/**
 * 房间摄像头禁用状态改变事件
 */
interface RoomCameraStateChangeEventData {
    /** 房间视频禁用状态 */
    camera_disabled: boolean;
    /** 是否禁止自我解除视频状态 */
    self_unmute_camera_disabled: boolean;
    /** 操作者用户id */
    op_uid?: string;
}
/**
 * 房间共享禁用状态改变事件
 */
interface RoomShareStateChangeEventData {
    /** 房间共享禁用状态 */
    share_disabled: boolean;
    /** 操作者用户id */
    op_uid?: string;
}
/**
 * 房间麦克风禁用状态改变事件
 */
interface RoomMicStateChangeEventData {
    /** 房间麦克风禁用状态 */
    mic_disabled: boolean;
    /** 是否禁止自我解除麦克风状态 */
    self_unmute_mic_disabled: boolean;
    /** 操作者用户id */
    op_uid?: string;
}
/**
 * 房间聊天禁用状态改变事件
 */
interface RoomChatDisabledChangeEventData {
    /** 房间聊天禁用状态 */
    chat_disabled: boolean;
    /** 操作者用户id */
    op_uid?: string;
}
/**
 * 房间截屏禁用状态改变事件
 */
interface RoomScreenshotDisabledChangeEventData {
    /** 房间截屏禁用状态 */
    screenshot_disabled: boolean;
    /** 操作者用户id */
    op_uid?: string;
}
/**
 * 房间水印禁用状态改变事件
 */
interface RoomWatermarkDisabledChangeEventData {
    /** 房间水印禁用状态 */
    watermark_disabled: boolean;
    /** 操作者用户id */
    op_uid?: string;
}
/**
 * 房间锁定状态改变事件
 */
interface RoomLockedChangeEventData {
    /** 房间锁定状态 */
    locked: boolean;
    /** 操作者用户id */
    op_uid?: string;
}
/**
 * 房间共享开始事件
 */
interface RoomShareStartEventData {
    /** 共享用户 */
    uid: string;
    /** 共享类型 */
    share_type: ShareType;
}
/**
 * 房间停止共享事件
 */
interface RoomShareStopEventData {
    /** 原共享用户 */
    uid: string;
    /** 原共享类型 */
    share_type: ShareType;
    /** 是否管理员操作 */
    by_admin: boolean;
    /** 操作者用户id */
    op_uid?: string;
}
/**
 * 房间聊天消息事件
 */
interface RoomChatMsgEventData {
    /** 消息类型 */
    msg_type: ChatMsgType;
    /** 消息内容 */
    msg: string;
    /** 发送用户 */
    uid?: string;
    /** 是否私聊 */
    private: boolean;
}
/**
 * 房间自定义消息事件
 */
interface RoomCustomMsgEventData {
    /** 消息内容 */
    msg: string;
    /** 发送用户 */
    uid?: string;
    /** 是否私聊 */
    private: boolean;
}
/**
 * 房间mcu任务消息事件
 */
interface RoomMcuTaskEventData {
    /** 任务类型 */
    task_type: McuTaskType;
    /** 任务状态 */
    task_status: McuTaskStatus;
    /** 错误描述 */
    err_desc: string;
}
/**
 * 房间加入失败事件
 */
interface RoomJoinFailedEventData {
    /** 用户id */
    uid: string;
    /** 用户昵称 */
    name: string;
    /** 错误描述 */
    err_desc: string;
    /** 失败类型 */
    failed_type: string;
}
/**
 * 会中签到活动消息
 */
interface SignInActivityEventData {
    /** 主持人用户id */
    host_id: string;
    /** 主持人昵称 */
    host_name: string;
    /** 轮次 */
    epoch: number;
    /** 开始时间 */
    begin_at: number;
    /** 预计时长 */
    dur: number;
    /** 结束时间 */
    end_at: number;
    /** 签到说明 */
    desc: string;
}
/**
 * 会中签到活动手动/自动结束事件
 */
interface SignInFinishEventData {
    /** 主持人用户id */
    host_id: string;
    /** 主持人昵称 */
    host_name: string;
    /** 轮次 */
    epoch: number;
}
/**
 * 会中用户进入等候室事件
 */
interface UserEnterWaitingRoomEventData {
    /** 用户id */
    uid: string;
    /** 用户昵称 */
    name: string;
    /** 用户头像 */
    avatar: string;
}
/**
 * 会中用户离开等候室事件
 */
interface UserExitWaitingRoomEventData {
    /** 用户id */
    uid: string;
    /** 用户昵称 */
    name: string;
    /** 用户头像 */
    avatar: string;
}
/**
 * 等待室禁用状态改变事件
 */
interface AdminUpdateWaitingRoomDisabledEventData {
    /** 等待室禁用状态 */
    waiting_room_disabled: boolean;
    /** 操作者用户id */
    op_uid?: string;
}
/**
 * 主持人开始子会议事件
 */
interface AdminStartSubMeetingEventData {
    /** 会议id */
    meeting_id: string;
    /** 会议标题 */
    title: string;
    /** 用户id列表 */
    uids: string[];
}
/**
 * 主持人结束子会议事件
 */
interface AdminStopSubMeetingEventData {
    /** 父会议id */
    parent: string;
}
/**
 * 小组间或主会场相互移动用户事件
 */
interface AdminMoveSubMeetingUserEventData {
    /** 当前会议ID */
    from_meeting_id: string;
    /** 当前会议标题 */
    from_meeting_title: string;
    /** 目标会议ID */
    to_meeting_id: string;
    /** 目标会议标题 */
    to_meeting_title: string;
}
/**
 * 会中点名消息事件
 */
interface RollCallNamedEventData {
    /** 点名id */
    id: string;
    /** 用户ID */
    sid: string;
    /** 当前时间 */
    time: number;
}
/**
 * 主持人处理您的举手申请事件
 */
interface AdminConfirmHandupEventData {
    /** 举手类型 */
    type: HandupType;
    /** 是否同意 */
    approve: boolean;
    /** 操作者用户id */
    op_uid?: string;
    /** 目标用户id */
    target_id: string;
}
/**
 * 主持人请求您开摄像头事件
 */
interface AdminRequestOpenCameraEventData {
    /** 操作者用户id */
    op_uid?: string;
}
/**
 * 主持人请求您开麦事件
 */
interface AdminRequestOpenMicEventData {
    /** 操作者用户id */
    op_uid?: string;
}

/**
 * sdk实例基类
 */
declare abstract class BaseSMeeting {
    /**
     * 白板地址
     */
    protected whiteBoard?: string;
    /**
     * 房间事件通知回调
     */
    onNotifyRoomEvent?: ((event: RoomEvent) => void);
    /**
     * 会议外消息事件通知回调
     */
    onNotifyImEvent?: ((event: ImEvent) => void);
    constructor(initParams: SdkInitParams);
    /**
     * sdk编译信息
     * @returns
     */
    buildInfo(): BuildInfo;
    /**
     * 获取设备id
     */
    deviceId(): string;
    /**
     * 获取当前登录用户信息（login 成功后可用）
     */
    getMeInfo(): {
        uid: string;
        nickname: string;
    } | undefined;
    /**
     * 登录sdk
     * @param token
     */
    login(token: string): Promise<void>;
    /**
     * 退出sdk
     * @param token
     */
    logout(): Promise<void>;
    /**
     * 启用会议外消息
     */
    enableIm(): Promise<void>;
    /**
     * 停用会议外消息
     */
    disableIm(): Promise<void>;
    /**
     * 创建会议
     * @returns 房间号
     */
    createRoom(req: MeetingCreateReq): Promise<{
        room_no: string;
        meeting_id: string;
    }>;
    /**
     * 会前修改会议
     * @param meeting_id 会议id
     * @param req 修改会议参数
     */
    updateRoom(meeting_id: string, req: Partial<MeetingCreateReq>): Promise<void>;
    /**
     * 进入会议
     * @param req 加入会议参数
     */
    enterRoom(req: MeetingEnterReq, options?: MeetingEnterOptions): Promise<{
        role?: number;
        meeting_id: string;
        stream_vendor?: StreamVendor;
    }>;
    /**
     * 需要参加的会议
     * @param req 分页参数
     */
    attendeeRoom(req: PageParam): Promise<{
        data: MeetingInfo[];
        _meta: MetaRes;
    }>;
    /**
    * 历史会议
    * @param req 分页参数
    */
    attendedRoom(req: PageParam): Promise<{
        data: MeetingInfo[];
        _meta: MetaRes;
    }>;
    /**
     * 会议详情
     * @param meeting_id 会议id 二选一
     * @param room_no 房间号 二选一
     */
    detailRoom(meeting_id?: string, room_no?: string): Promise<MeetingInfo>;
    /**
     * 取消会议
     * @param meeting_id 会议id
     */
    cancelRoom(meeting_id: string): Promise<void>;
    /**
     * 会议参会人员
     * @param meeting_id 会议id
     * @param pageParam 分页参数
     */
    roomParticipant(meeting_id: string, page: number, perPage: number): Promise<{
        data: ParticipantInfo[];
        _meta: MetaRes;
    }>;
    /**
     * 查询聊天消息列表（历史消息）
     * @param meeting_id 会议id
     * @param page 当前页码
     * @param perPage 每页条数
     */
    roomChatMsgList(meeting_id: string, page: number, perPage: number): Promise<{
        data: ChatMsgInfo[];
        _meta: MetaRes;
    }>;
    /**
     * 退出会议
     */
    exitRoom(): Promise<void>;
    /**
     * 获取会议信息
     * @returns
     */
    getRoomInfo(): RoomInfo | null;
    /**
     * 获取白板地址
     */
    getWhiteBoard(): string | undefined;
    /**
     * 获取某用户信息
     * @returns
     */
    getUserInfo(uid: string): UserInfo;
    /**
     * 获取会议内用户信息列表
     * @returns
     */
    getUsersInfo(map: true): Record<string, UserInfo>;
    getUsersInfo(map: false): UserInfo[];
    /**
     * 拒绝主持人打开麦克风的请求
     * @param adminUid 主持人id（哪个主持人请求打开）
     */
    rejectOpenMic(adminUid?: string): Promise<void>;
    /**
     * 拒绝主持人打开摄像头的请求
     * @param adminUid 主持人id（哪个主持人请求打开）
     */
    rejectOpenCamera(adminUid?: string): Promise<void>;
    /**
     * 关闭摄像头
     */
    closeCamera(): Promise<any>;
    /**
     * 关闭麦克风
     */
    closeMic(): Promise<any>;
    /**
     * 更新会中昵称
     * @param name
     */
    updateName(name: string): Promise<void>;
    /**
     * 发送聊天消息，可单发和群发
     * @param msg 消息内容
     * @param msg_type 消息类型
     * @param target_id 消息接收者 为空时表示全房间接收
     */
    sendRoomChatMessage(msg: string, msgType?: ChatMsgType, targetId?: string): Promise<void>;
    /**
     * 发送自定义消息，可单发和群发
     * @param content 消息内容
     * @param targetId 消息接收者 为空时表示全房间接收
     */
    sendRoomCustomMessage(content: string, targetId?: string): Promise<void>;
    /**
     * 举手
     * @param code 举手类型
     */
    requestHandup(code: HandupType): Promise<void>;
    /**
     * 取消举手
     * @param code 取消举手类型
     */
    cancelHandup(code: HandupType): Promise<void>;
    /**
     * 结束会议（解散）
     */
    adminDestroyRoom(): Promise<void>;
    /**
     * 更新房间摄像头使用权限禁用状态
     * @param selfUnmuteCameraDisabled 是否禁用自我解除
     * @param cameraDisabled 是否禁用摄像头
     */
    adminUpdateRoomCameraState(selfUnmuteCameraDisabled: boolean, cameraDisabled: boolean): Promise<void>;
    /**
     * 更新房间摄像头允许自我解除
     * @param selfUnmuteCameraDisabled 是否禁用自我解除
     */
    adminUpdateRoomSelfUnmuteCameraDisabled(selfUnmuteCameraDisabled: boolean): Promise<void>;
    /**
     * 更新房间麦克风使用权限禁用状态(全体禁音和全体解除禁音)
     * @param selfUnmuteMicDisabled 是否禁用自我解除
     * @param micDisabled 是否禁用麦克风
     */
    adminUpdateRoomMicState(selfUnmuteMicDisabled: boolean, micDisabled: boolean): Promise<void>;
    /**
     * 更新房间共享使用权限禁用状态
     * @param shareDisabled 是否禁用共享
     */
    adminUpdateRoomShareState(shareDisabled: boolean): Promise<void>;
    /**
     * 更新房间麦克风允许自我解除
     * @param selfUnmuteMicDisabled 是否禁用自我解除
     */
    adminUpdateRoomSelfUnmuteMicDisabled(selfUnmuteMicDisabled: boolean): Promise<void>;
    /**
     * 更新房间聊天使用权限禁用状态
     * @param chatDisabled 是否禁用聊天
     */
    adminUpdateRoomChatDisabled(chatDisabled: boolean): Promise<void>;
    /**
     * 更新房间截屏禁用状态
     * @param screenshotDisabled 是否禁用截屏
     */
    adminUpdateRoomScreenshotDisabled(screenshotDisabled: boolean): Promise<void>;
    /**
     * 更新房间水印禁用状态
     * @param watermarkDisabled 水印禁用状态  false开启水印, true关闭水印
     */
    adminUpdateRoomWatermarkDisabled(watermarkDisabled: boolean): Promise<void>;
    /**
     * 更新房间锁定状态
     * @param locked 是否锁定  false解锁, true锁定
     */
    adminUpdateRoomLocked(locked: boolean): Promise<void>;
    /**
     * 停止房间共享
     */
    adminStopRoomShare(): Promise<void>;
    /**
     * 更新用户名称
     * @param targetId 用户id
     * @param nickname 用户昵称
     */
    adminUpdateUserName(targetId: string, nickname: string): Promise<void>;
    /**
     * 更新用户角色
     * @param targetId 用户id
     * @param role 用户角色
     */
    adminUpdateUserRole(targetId: string, role: Role): Promise<void>;
    /**
     * 更新远端用户聊天禁用状态
     * @param targetId 用户id
     * @param chatDisabled 是否禁止聊天
     */
    adminUpdateUserChatDisabled(targetId: string, chatDisabled: boolean): Promise<void>;
    /**
     * 主动转移主持人
     * @param targetId 用户id
     */
    adminMoveHost(targetId: string): Promise<void>;
    /**
     * 请求远端用户打开摄像头
     * @param targetId 用户id
     */
    adminRequestUserOpenCamera(targetId: string): Promise<void>;
    /**
     * 关闭远端用户摄像头
     * @param targetId 用户id
     */
    adminCloseUserCamera(targetId: string): Promise<void>;
    /**
     * 请求远端用户打开麦克风
     *  @param targetId 用户id
     */
    adminRequestUserOpenMic(targetId: string): Promise<void>;
    /**
     * 关闭远端用户麦克风
     * @param targetId 用户id
     */
    adminCloseUserMic(targetId: string): Promise<void>;
    /**
     * 将远端用户踢出房间
     * @param targetId 用户id
     * @param joinDisabled 是否禁止再入会
     */
    adminKickUserOut(targetId: string, joinDisabled: boolean): Promise<void>;
    /**
     * 主持人确认举手请求，同意或拒绝
     *  @param targetId 用户id
     *  @param approve 是否同意
     *  @param code 举手类型
     */
    adminConfirmHandup(targetId: string, approve: boolean, code: HandupType): Promise<void>;
    /**
     * 主持人邀请设备入会
     * @param agents 邀请的设备
     * @param no 房间号
    */
    adminInviteAgent(agents: {
        type: AgentType;
        contact: string;
    }[], no: string): Promise<void>;
    /**
     * 修改参会人员
     * @param conferee 参会人员
    */
    adminUpdateConferee(conferee: string[]): Promise<void>;
    /**
     * 会议时呼叫人员
     * @param conferee 呼叫人员
     */
    adminCallUsers(conferee: string[]): Promise<void>;
    /**
     * 修改合成会议的布局
     */
    adminUpdateLayout(layoutData: LayoutData): Promise<void>;
    /**
     * 设备列表
     * @param type 设备类型
     * @param name 名称
     * @param page 页码
     * @param perPage 每页数量
     */
    agentList(type: AgentType[], name: string, page: number, perPage: number): Promise<{
        data: AgentInfo[];
        _meta: MetaRes;
    }>;
    /**
     * 会议-未入会人员
     */
    meetNotEnter(): Promise<NoEnterUserInfo[]>;
    /**
     * 会议-提醒入会
     * @param uids 目标用户ID列表，空表示全部
     * @param useSms 是否使用短信
     */
    adminMeetRemind(uids: string[], useSms: boolean): Promise<void>;
    /**
     * 更新在主持人前禁入会
     */
    adminUpdateEnterBeforeHostDisabled(enterBeforeHostDisabled: boolean, meetingId?: string): Promise<void>;
    /**
     * 会议在线人员列表
     * @param req 分页参数
     */
    adminListOnlineMember(req: PageParam): Promise<{
        data: OnlineMemberInfo[];
        _meta: MetaRes;
    }>;
    /**
     * 更新房间等待室状态
     * @param waitingRoomDisabled 是否禁用等待室  false开启等待室, true关闭等待室 默认关闭
     */
    adminUpdateWaitingRoomDisabled(waitingRoomDisabled: boolean, meetingId?: string): Promise<void>;
    /**
     * 获取等待室人员列表
     */
    waitingRoomUsers(): Promise<WaitingRoomUserInfo[]>;
    /**
     * 从会议移到等候室
     * @param userId 用户id
     * @param nickname 用户昵称
     */
    adminMoveInWaitingRoom(userId: string, nickname: string): Promise<void>;
    /**
     * 从等候室移到会议
     * @param userId 用户id 不传表示所有
     * @param nickname 用户昵称 不传表示所有
     */
    adminMoveOutWaitingRoom(userId?: string, nickname?: string): Promise<void>;
    /**
     * 主动退出等候室
     */
    exitWaitingRoom(roomNo?: string, meetingId?: string): Promise<void>;
    /**
     * 创建子会议（小组）
     * @param titles 小组标题列表
     */
    adminCreateSubMeeting(titles: string[]): Promise<void>;
    /**
     * 更新子会议(小组)标题
     * @param id 小组id
     * @param title 小组标题
     */
    adminUpdateSubMeetingTitle(id: string, title: string): Promise<void>;
    /**
     * 全量更新子会议(小组)参与者
     * @param id 小组id
     * @param users 小组成员
     */
    adminUpdateSubMeetingUsers(id: string, users: {
        uid: string;
        name: string;
    }[]): Promise<void>;
    /**
     * 删除子会议(小组)
     * @param ids 小组ids
     */
    adminDeleteSubMeeting(ids: string[]): Promise<void>;
    /**
     * 列表子会议(小组)
     * @returns 小组列表
     */
    adminSubMeetingList(): Promise<SubMeetingInfo[]>;
    /**
     * 开始一个子会议(小组)
     * @param id 小组id
     */
    adminStartSubMeeting(ids: string[]): Promise<void>;
    /**
     * 结束一个子会议(小组)
     * @param ids 小组ids
     */
    adminStopSubMeeting(ids: string[]): Promise<void>;
    /**
     * 小组之间移动用户
     * @param fromId 源小组id
     * @param toId 目标小组id 为空时表示主会议
     * @param userId 用户id
     */
    adminMoveSubMeetingUser(fromId: string, toId: string, userId: string): Promise<void>;
    /**
     * 子会议(小组)请求帮助
     */
    userHelpSubMeeting(): Promise<void>;
    /**
     * 开始录制
     * @param req 录制参数
     */
    mcuStart(req: McuStartReq): Promise<void>;
    /**
     * 停止录制
     * @param task_type mcu任务类型(默认录像模式)
     */
    mcuStop(taskType?: McuTaskType): Promise<void>;
    /**
     * 获取录制配置
     */
    mcuRecordConfig(): Promise<McuRecordConfig>;
    /**
     * 获取录制详情
     */
    mcuRecordDetail(): Promise<McuRecordDetail>;
    /**
    * 会前-更新背景与附件
    * @param meetingId 会议ID
    * @param background 背景图key
    * @param attachments 附件列表
    */
    meetUpdateBgAndAttach(meetingId: string, background: string, attachments: Attachments[]): Promise<void>;
    /**
     * 会议-获取背景图URL
     */
    resourcesMeetingBg(meetingId: string): Promise<{
        url: string;
    }>;
    /**
     * 资源-预签名上传
     */
    presignedPutObject(type: PresignedPutObjectType, meetingId: string, ext: string): Promise<{
        url: string;
        key: string;
        ext: string;
    }>;
    /**
     * 资源-预签名下载
     * @param resKey 资源Key 二选一
     * @param id 资源ID 二选一
     */
    presignedGetObject(resKey?: string, id?: string): Promise<{
        url: string;
    }>;
    /**
     * 资料列表
     * @param page 页码
     * @param perPage 每页数量
     * @param resName 资源名
     * @param resType 类型
     * @param meetingId 会议ID
     * @param parentId 上级ID
     */
    resourcesList(page: number, perPage: number, resName?: string, resType?: string, meetingId?: string, parentId?: string): Promise<{
        data: ResourceInfo[];
        _meta: MetaRes;
    }>;
    /**
     * 创建资源
     * @param resName 资源名
     * @param resType 类型 folder, jpg, pdf, doc 等
     * @param resKey 资源Key 在res_key不为folder时必填
     * @param meetingId 会议ID
     * @param parentId 上级ID
     */
    resourcesCreate(resName: string, resType: string, resKey?: string, meetingId?: string, parentId?: string): Promise<void>;
    /**
     * 资源修改名称
     * @param resName 资源名
     * @param id 资源ID, id resKey 二选一
     * @param resKey 资源Key,id resKey 二选一
     */
    resourcesRename(resName: string, id?: string, resKey?: string): Promise<void>;
    /**
     * 资源移动
     * @param parentId 上级ID
     * @param id 资源ID, id resKey 二选一
     * @param resKey 资源Key,id resKey 二选一
     */
    resourcesMoveto(parentId: string, id?: string, resKey?: string): Promise<void>;
    /**
     * 资源移除
     */
    resourcesRemove(id: string, resKey: string): Promise<void>;
    /**
     * 签到活动列表
     */
    signInList(): Promise<{
        list: SignInfo[] | null;
        now: number;
    }>;
    /**
     * 签到活动创建
     */
    signInCreate(dur: number, desc: string): Promise<void>;
    /**
     * 签到-统计人数
     */
    signInCount(epoch: number): Promise<{
        nums: number;
    }>;
    /**
     * 签到-结束活动
     */
    signInFinish(): Promise<void>;
    /**
     * 签到-活动详情
     */
    signInDetail(epoch: number, nickname?: string): Promise<SignDetailInfo[]>;
    /**
     * 签到-用户签到
     */
    signInSign(): Promise<void>;
    /**
     * 签到-导出签到数据
     * @param epoch 期/轮次, 从0开始, -1表示全部
     */
    signInExportSign(epoch: number, nickname?: string): Promise<Blob>;
    /**
     * 点名-列表（主持人）
     * @param page 页码
     * @param perPage 每页数量
     */
    adminListRollCall(page: number, perPage: number): Promise<{
        data: RollCallInfo[];
        _meta: MetaRes;
    }>;
    /**
     * 点名-开始（主持人）
     * @param method 点名方式（1自动 2手动）
     * @param allMember 是否全员
     * @param members 指定点名成员（allMember为false时必填）
     * @returns 点名id
     */
    adminStartRollCall(method: RollCallMethod, allMember: boolean, members?: {
        id: string;
        nickname: string;
    }[]): Promise<string>;
    /**
     * 点名-结束（主持人）
     * @param rollCallId 点名id
     */
    adminStopRollCall(rollCallId: string): Promise<void>;
    /**
     * 点名-主持人呼叫
     * @param rollCallUserId 点名详情中用户的id
     */
    adminRollCallNamed(rollCallUserId: string): Promise<void>;
    /**
     * 点名-主持人回应
     * @param rollCallUserId 点名的用户id
     * @param clear 是否清除用户的应答记录
     */
    adminRollCallAnswer(rollCallUserId: string, clear: boolean): Promise<void>;
    /**
     * 点名-详情（主持人）
     * @param rollCallId 点名id
     */
    adminDetailRollCall(rollCallId: string): Promise<RollCallDetail>;
    /**
     * 点名-详情导出（主持人）
     * @param rollCallId 点名id
     */
    adminDetailRollCallExport(rollCallId: string): Promise<Blob>;
    /**
     * 点名-用户回应
     */
    userRollCallAnswer(rollCallUserId: string): Promise<void>;
}

declare class SMeeting extends BaseSMeeting {
    enterRoom(req: MeetingEnterReq, options?: MeetingEnterOptions): Promise<{
        role?: number;
        meeting_id: string;
        stream_vendor?: StreamVendor;
    }>;
    /**
     * 打开摄像头
     * @param container 预览容器
     * @param deviceId 摄像头设备id
     * @param preset 摄像头预设值
     * @param byAdmin 是否主持人操作
     * @param adminUid 主持人id（哪个主持人请求打开）
     */
    requestOpenCamera(container: HTMLElement, deviceId?: string, preset?: CameraPreset, byAdmin?: boolean, adminUid?: string): Promise<LocalCameraTrack>;
    /**
     * 切换摄像头
     * @param deviceId 摄像头设备id，手机端不传自动切换前后置摄像头，桌面端可指定摄像头
     */
    switchCamera(deviceId?: string): Promise<void>;
    /**
     * 打开麦克风
     * @param deviceId 麦克风设备id
     * @param preset 麦克风预设值
     * @param byAdmin 是否主持人操作
     * @param adminUid 主持人id（哪个主持人请求打开）
     */
    requestOpenMic(deviceId?: string, preset?: MicPreset, byAdmin?: boolean, adminUid?: string): Promise<void>;
    /**
     * 切换麦克风
     * @param deviceId 麦克风设备id
     */
    switchMic(deviceId: string): Promise<void>;
    /**
     * 打开共享
     * @param shareType 共享类型
     * @param preset 共享预设
     * @param container 预览容器
     * @param byAdmin 是否主持人操作
     * @param adminUid 主持人id（哪个主持人请求打开）
     */
    requestShare(shareType?: ShareType, preset?: ScreenPreset, audioPreset?: ScreenAudioPreset, container?: HTMLElement, byAdmin?: boolean, adminUid?: string): Promise<void>;
    /**
     * 停止共享
     */
    stopShare(): Promise<void>;
    /**
     * 发布"额外屏幕共享流"。
     *
     * 与 {@link requestShare} 的区别：
     * - 不调用任何后端 share 接口，不更新 RoomInfo.share_state / share_uid
     * - 不触发 ROOM_SHARE_START / ROOM_SHARE_STOP 事件
     * - 推送的轨道 desc 为 {@link TrackDesc.EXTRA_SCREEN}
     *
     * 适用于"所有人都推屏幕，但由业务层信令（如 sendRoomCustomMessage）决定谁是主讲"的场景。
     */
    publishExtraScreen(preset?: ScreenPreset, audioPreset?: ScreenAudioPreset, container?: HTMLElement): Promise<void>;
    /**
     * 取消发布"额外屏幕共享流"。
     */
    unpublishExtraScreen(): Promise<void>;
    /**
     * 当前是否已发布额外屏幕共享流。
     */
    hasExtraScreen(): boolean;
    /**
     * 发布"高拍仪轨道"（独立 desc = {@link TrackDesc.DOCUMENT_CAMERA}）。
     *
     * - 仅视频，不采集音频
     * - 与本地摄像头互斥（同一时间只能开摄像头或高拍仪）
     * - 不影响 EXTRA_SCREEN（现场画面）的推送
     * - 不调用任何后端 share 接口
     *
     * @param deviceId 高拍仪 USB 摄像头 deviceId（可选）
     * @param container 本地预览容器（可选）
     * @param preset 摄像头预设
     */
    publishDocumentCamera(deviceId?: string, container?: HTMLElement, preset?: CameraPreset): Promise<LocalCameraTrack>;
    /**
     * 取消发布高拍仪轨道。
     */
    unpublishDocumentCamera(): Promise<void>;
    /**
     * 当前是否已发布高拍仪轨道。
     */
    hasDocumentCamera(): boolean;
    /**
     * 获取本地高拍仪轨道（用于业务侧二次添加预览容器）。
     */
    getLocalDocumentCameraTrack(): LocalCameraTrack | undefined;
    /**
     * 申请成为"主讲"。
     *
     * 与 {@link requestShare} 的区别：仅调用后端 `meet/user/request-share` 将自己标记为
     * 当前房间共享者（写入 `RoomInfo.share_state` / `share_uid`），**不创建 / 不发布
     * 任何屏幕轨道**，也不触发 ROOM_SHARE_START 事件。
     *
     * 配合 {@link publishExtraScreen}（每位参会人各自推送的独立屏幕流）使用，业务侧
     * "谁是主讲"由后端持久化的 `share_uid` 决定，late joiner 入会后可直接读取
     * `roomInfo.share_uid` 得到正确的主讲身份。
     */
    claimPresenter(): Promise<void>;
    /**
     * 释放"主讲"身份。
     *
     * 与 {@link stopShare} 的区别：仅调用后端 `meet/user/stop-share` 清空房间
     * `share_uid`，**不操作任何屏幕轨道**。
     */
    releasePresenter(): Promise<void>;
    /**
     * 开始播放远端用户视频
     * @param container 播放容器
     * @param uid 远程用户id
     * @param trackDesc 视频轨道描述
     * @returns
     */
    startPlayRemoteVideo(container: HTMLElement, uid: string, trackDesc: TrackDesc): Promise<RemoteVideoTrack>;
    /**
     * 停止播放远端用户视频
     * @param container 播放容器
     * @param uid 远端用户id
     * @param trackDesc 视频轨道描述
     */
    stopPlayRemoteVideo(container: HTMLElement, uid: string, trackDesc: TrackDesc): Promise<void>;
    /**
     * 订阅远端流
     * @param uid 远端用户id
     * @param trackDesc 视频轨道描述
     * @returns
     */
    subscribeRemoteVideoTrack(uid: string, trackDesc: TrackDesc): Promise<RemoteVideoTrack>;
    /**
     * 取消订阅远端流
     * @param uid 远端用户id
     * @param trackDesc 视频轨道描述
     */
    unsubscribeRemoteVideoTrack(uid: string, trackDesc: TrackDesc): Promise<void>;
    /**
     * 切换远程音频的静音/取消静音状态(可以指定设备)
     * @param mute 是否静音
     * @param opt 扬声器配置
     */
    toggleRemoteAudioMute(mute: boolean, opt?: AudioOutputOptions): Promise<void>;
    /**
     * 订阅远端用户单路音频流（不播放）。
     * 适用于上层需要拿到原始 MediaStreamTrack 自行做音频后处理（如变声）的场景。
     * 拿到 RemoteAudioTrack 后可通过 `getMediaStreamTrack()` 取出底层 track。
     * @param uid 远端用户id
     */
    subscribeRemoteAudioTrack(uid: string): Promise<RemoteAudioTrack>;
    /**
     * 取消订阅远端用户单路音频流。
     * @param uid 远端用户id
     */
    unsubscribeRemoteAudioTrack(uid: string): Promise<void>;
    /**
     * 订阅并播放远端用户单路音频流。
     * @param uid 远端用户id
     * @param opt 扬声器配置
     */
    startPlayRemoteAudio(uid: string, opt?: AudioOutputOptions): Promise<RemoteAudioTrack>;
    /**
     * 停止播放远端用户单路音频流，并取消订阅。
     * @param uid 远端用户id
     */
    stopPlayRemoteAudio(uid: string): Promise<void>;
    /**
     * 获取远端用户单路音频流（如未订阅返回的对象不一定可播放）。
     * @param uid 远端用户id
     */
    getRemoteAudioTrack(uid: string): RemoteAudioTrack | undefined;
    /**
     * 获取本地麦克风轨道，可用于读取采集音量 getVolume() 或取底层 MediaStreamTrack 自行处理。
     * @returns 未开启麦克风时返回 undefined
     */
    getLocalMicTrack(): LocalMicTrack | undefined;
    /**
     * 开始播放远端合成视频
     * @param container 播放容器
     * @returns
     */
    startPlayRemoteVideoMcu(container: HTMLElement): Promise<RemoteVideoTrack>;
    /**
     * 停止播放远端合成视频
     * @param container 播放容器
     */
    stopPlayRemoteVideoMcu(container: HTMLElement): Promise<void>;
    /**
     * 获取web运行环境信息，如是否支持webrtc等
     * @returns
     */
    getEnvInfo(): EnvWebInfo;
    /**
     * 获取设备列表
     * @param kind
     * @param requestPermissions
     * @returns
     */
    getDevices(kind?: MediaDeviceKind, requestPermissions?: boolean): Promise<MediaDeviceInfo[]>;
    /** 获取流媒体引擎的metric快照 */
    getStreamMetric(): _seastart_srtc_web_sdk.StreamMetric | undefined;
    /**
     * 创建本地合成录制器。
     *
     * 业务层如果已经持有 `smeeting` 实例，可以直接通过这里拿到同一个 recorder。
     */
    createLocalCompositeRecorder(): _seastart_srtc_web_sdk.LocalCompositeRecorder;
}

/** 房间事件类型 */
declare class RoomEventType extends CommonRoomEventType {
    /** 设备插入 对应data为 MediaDeviceInfo */
    static readonly DEVICE_ADD = "device_add";
    /** 设备拔出 对应data为 MediaDeviceInfo */
    static readonly DEVICE_REMOVE = "device_remove";
    /** 流轨道停止，对应data为BaseTrack */
    static readonly TRACK_ENDED = "track_ended";
    /** 流轨道没有数据 */
    static readonly TRACK_MUTED = "track_muted";
    /** 流轨道恢复数据 */
    static readonly TRACK_UNMUTED = "track_unmuted";
    /** 活跃说话人列表变化，对应data为 ActiveSpeakersEventData（全量快照，按 level 降序）。仅 SeaStart SFU 引擎触发 */
    static readonly ACTIVE_SPEAKERS_CHANGED = "active_speakers_changed";
}

export { type AdminConfirmHandupEventData, type AdminMoveSubMeetingUserEventData, type AdminRequestOpenCameraEventData, type AdminRequestOpenMicEventData, type AdminStartSubMeetingEventData, type AdminStopSubMeetingEventData, type AdminUpdateWaitingRoomDisabledEventData, type AgentInfo, AgentStatus, AgentType, type Attachments, AttendType, CameraState, type Cell, type ChatMsgInfo, ChatMsgType, CommonImEventType, CommonRoomEventType, type DisconnectEventData, type DisconnectReason, type DivList, EndType, EntryMutePolicy, HandupType, type ImAdminMoveOutWaitingRoomEventData, type ImBaseEventData, type ImCallCallingEventData, type ImDisconnectEventData, ImEvent, type ImMeetingRemindEventData, type ImUserHelpSubMeetingEventData, type LayoutData, LayoutType, type McuRecordConfig, type McuRecordDetail, type McuStartReq, McuTaskStatus, McuTaskType, type MeetUpdateBgAndAttachReq, type MeetingCreateReq, type MeetingEnterOptions, type MeetingEnterReq, type MeetingInfo, MeetingMode, MeetingStatus, type MeetingToken, MeetingType, type MetaRes, MicState, type NoEnterUserInfo, type OnlineMemberInfo, type PageParam, type ParticipantInfo, type PresignedPutObjectReq, PresignedPutObjectType, type ResourceCreateReq, type ResourceInfo, type ResourceListReq, Role, type RollCallDetail, type RollCallInfo, RollCallMethod, type RollCallNamedEventData, RollCallStatus, type RollCallUserInfo, RollCallUserStatus, type Room, type RoomCameraStateChangeEventData, type RoomChatDisabledChangeEventData, type RoomChatMsgEventData, type RoomCustomMsgEventData, RoomEvent, RoomEventType, type RoomInfo, type RoomJoinFailedEventData, type RoomLockedChangeEventData, type RoomMcuTaskEventData, type RoomMicStateChangeEventData, type RoomScreenshotDisabledChangeEventData, type RoomShareStartEventData, type RoomShareStateChangeEventData, type RoomShareStopEventData, type RoomWatermarkDisabledChangeEventData, SMeeting, type SdkInitParams, type ShareState, ShareType, type SignDetailInfo, type SignInActivityEventData, type SignInFinishEventData, type SignInfo, StreamVendor, type SubMeetingInfo, type Tag, TrackDesc, type UserCameraStateChangeEventData, type UserChatDisabledChangeEventData, type UserEnterWaitingRoomEventData, type UserExitEventData, type UserExitWaitingRoomEventData, type UserExtraScreenChangeEventData, type UserHandupEventData, UserHandupStep, type UserInfo, type UserMicStateChangeEventData, type UserNameChangeEventData, type UserRoleChangeEventData, UserType, type WaitingRoomUserInfo, type Watermark };
