// Native JSB

declare class TMGContextBindings {
  constructor();
  setTMGDelegate(delegate: Object): void;
  setRegion(region: string): void;
  getAuthBuffer(appId: number, roomId: string, userId: string, key: string): string;
  init(appId: string, userID: string): number;
  poll(): void;
  pause(): void;
  resume(): void;
  uninit(): number;
  setScene(scene: number): number;
  setAudioRole(role: number): number;
  setRangeAudioMode(mode: number): number;
  setRangeAudioTeamID(teamId: number): number;
  enterRoom(roomId: string, roomType: number, userSig: string): number;
  exitRoom(): number;
  isRoomEntered(): boolean;
  setLogLevel(levelWrite: number, levelPrint: number): number;
  setLogPath(logDir: string): number;
  getLogPath(): string;
  getSDKVersion(): string;
  setAppVersion(appVersion: string): void;
  showDebugView(show: boolean): number;
  getRoom(): Object;
  getPTT(): Object;
  getAudioCtrl(): Object;
  getAudioEffectCtrl(): Object;
  setRecvMixStreamCount(count: number): number;
  setAdvanceParams(key: string, value: string): number;
  getAdvanceParams(key: string): string;
  checkMicPermission(): number;
}