// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.4 effective-4.1.50 (swiftlang-6.2.4.1.4 clang-1700.6.4.2)
// swift-module-flags: -target arm64-apple-macos11.0 -enable-objc-interop -enable-library-evolution -swift-version 4 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name SwitchboardSDK
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.4
import AVFoundation
import Foundation
import Swift
@_exported import SwitchboardSDK
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
public protocol AudioStreamerDelegate : AnyObject {
  func audioStreamerDidFinishStreamingAudio(_ audioStreamer: SwitchboardSDK.AudioStreamer)
}
@objc @_inheritsConvenienceInitializers public class AudioStreamer : ObjectiveC.NSObject, SwitchboardSDK.StreamPlayerNodeDelegate {
  @objc override dynamic public init()
  @objc public func load(url: Foundation.URL)
  @objc public func play()
  @objc public func pause()
  #if compiler(>=5.3) && $NonescapableTypes
  @objc public func streamPlayerNode(_ streamPlayer: Swift.UnsafeMutableRawPointer!, didChangeSampleRate sampleRate: Swift.UInt32)
  #endif
  @objc public func stop()
  @objc public func getAudioBus() -> SwitchboardSDK.PCMBufferStreamAudioBus
  @objc public func getNumOfChannels() -> Swift.UInt32
  @objc deinit
}
@objc @_inheritsConvenienceInitializers public class PCMBufferStreamAudioBus : ObjectiveC.NSObject {
  @objc public func readRenderData(_ data: Swift.UnsafeMutableRawPointer, numberOfSamples count: Swift.UInt32) -> Swift.UInt32
  @objc override dynamic public init()
  @objc deinit
}
public protocol OpenTokRoomResponse {
  var apiKey: Swift.String { get }
  var sessionId: Swift.String { get }
  var token: Swift.String { get }
}
public protocol AgoraRoomResponse {
  var token: Swift.String { get }
}
public protocol RoomAPI {
  #if compiler(>=5.3) && $NonescapableTypes
  func openTokRoom(roomID: Swift.String, password: Swift.String?, completion: @escaping (Swift.Result<any SwitchboardSDK.OpenTokRoomResponse, any Swift.Error>) -> Swift.Void)
  #endif
  #if compiler(>=5.3) && $NonescapableTypes
  func agoraRoom(roomID: Swift.String, password: Swift.String?, completion: @escaping (Swift.Result<any SwitchboardSDK.AgoraRoomResponse, any Swift.Error>) -> Swift.Void)
  #endif
}
public enum SwitchboardAPIError : Swift.Error {
  case serverError(message: Swift.String)
}
extension SwitchboardSDK.SwitchboardAPIError : Foundation.LocalizedError {
  #if compiler(>=5.3) && $NonescapableTypes
  public var errorDescription: Swift.String? {
    get
  }
  #endif
}
public struct SwitchboardAPI : SwitchboardSDK.RoomAPI {
  public init()
  #if compiler(>=5.3) && $NonescapableTypes
  public func openTokRoom(roomID: Swift.String, password: Swift.String?, completion: @escaping (Swift.Result<any SwitchboardSDK.OpenTokRoomResponse, any Swift.Error>) -> Swift.Void)
  #endif
  #if compiler(>=5.3) && $NonescapableTypes
  public func agoraRoom(roomID: Swift.String, password: Swift.String?, completion: @escaping (Swift.Result<any SwitchboardSDK.AgoraRoomResponse, any Swift.Error>) -> Swift.Void)
  #endif
}
public class CallbackLogDestination : SwitchboardSDK.SBLogDestination {
  public init(logCallback: @escaping (_ level: SwitchboardSDK.SBLogLevel, _ message: Swift.String) -> Swift.Void)
  @objc public func log(_ logLevel: SwitchboardSDK.SBLogLevel, message logMessage: Swift.String)
  @objc deinit
}
