declare namespace options { export interface devConfig { edgeUrl: string; } export interface OctopusRTC { userId: string; appId?: string; logLevel?: number; mode?: "octopus" | "zego" | "auto"; userName?: string; env?: "test" | "prod" | "dev"; edgeUrl?: string; } export interface octopusConfig { LOGURL?: any; VENDORURL: string; CENTERURL: string; APPID: string; SDKVERSION: any; OS: string; ipInfo?: any; EDGEURL?: string; } export interface octopusClient extends OctopusRTC { octopusConfig?: octopusConfig; } export interface Signal extends octopusClient { roomId: string; onDisconnect?: () => void; onStreamUpdated?: () => void; onKickOut?: () => void; } export interface ICE extends Signal { offerPeerId: number; direction: 'pull' | 'push'; ws: any; roomOnlineCurrent: signalingResFormat.paticipants; publishStreamInfo?: ICE.publishStreamInfo; playStreamInfo?: ICE.playStreamInfo; role?: 1 | 2; bitRate?: ICE.bitRate; onPublishStateUpdate?: () => void; onPlayStateUpdate?: () => void; } export interface peer { pc: RTCPeerConnection; candidateArray: Array; answerSdp: boolean; } export interface ICEHandle extends ICE { peer: peer; } interface layer { outputUrl: string; outputBitrate: number; outputFps: number; outputWidth: number; outputHeight: number; outputBgImage: string; streamList: Array; } interface streamLayer { roomId: string; streamId: string; top: number; left: number; bottom: number; right: number; } export interface mixStreamConfig { layer: layer; streamList: streamLayer; } export {}; }