// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.1.2 effective-5.10 (swiftlang-6.1.2.1.2 clang-1700.0.13.5)
// swift-module-flags: -target arm64-apple-ios13.5 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name DavoiceTTS
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -interface-compiler-version 6.1.2
import AVFAudio
import AVFoundation
import Accelerate
import Foundation
import Speech
import Swift
import UIKit
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
import onnxruntime_objc
import phonemes
public typealias EngineSchedule = (_ url: Foundation.URL, _ onDone: @escaping () -> Swift.Void) -> Swift.Bool
public typealias IsEngineReady = () -> Swift.Bool
public typealias useOnlyEnginePlayback = () -> Swift.Bool
public typealias StopEnginePlayback = () -> Swift.Void
public typealias CurrentEngineProvider = () -> AVFAudio.AVAudioEngine?
public enum AudioPlaybackHook {
  public static var engineScheduleFile: DavoiceTTS.EngineSchedule?
  public static var isEngineReady: DavoiceTTS.IsEngineReady?
  public static var useOnlyEnginePlayback: DavoiceTTS.useOnlyEnginePlayback?
  public static var stopEnginePlayback: DavoiceTTS.StopEnginePlayback?
  public static var currentEngine: DavoiceTTS.CurrentEngineProvider?
}
@objc public protocol STTDelegate {
  @objc func stt(_ stt: DavoiceTTS.STT, didEmitEvent name: Swift.String, body: [Swift.String : Any]?)
}
@objc @_inheritsConvenienceInitializers @objcMembers final public class STT : ObjectiveC.NSObject, Speech.SFSpeechRecognizerDelegate {
  @objc weak final public var delegate: (any DavoiceTTS.STTDelegate)?
  @objc final public var continuous: Swift.Bool
  @objc final public var aecEnabled: Swift.Bool
  @objc public static let supportedEvents: [Swift.String]
  @objc final public func pauseMicrophoneAndWait(_ timeoutMs: Foundation.NSNumber, completion: @escaping (Swift.Bool, Swift.String?) -> Swift.Void)
  @objc final public func unPauseMicrophoneAndWait(_ timeoutMs: Foundation.NSNumber, completion: @escaping (Swift.Bool, Swift.String?) -> Swift.Void)
  @objc final public func pauseMicrophone()
  @objc final public func unPauseMicrophone()
  @objc final public func setAECEnabled(_ enabled: Swift.Bool)
  @objc final public func isAECEnabled() -> Swift.Bool
  @objc final public func isSpeechAvailable(_ completion: @escaping (Swift.Bool) -> Swift.Void)
  @objc final public func isRecognizing() -> Swift.Bool
  @objc final public func startSpeech(localeStr: Swift.String?)
  @objc final public func stopSpeech(_ completion: ((Swift.Bool) -> Swift.Void)? = nil)
  @objc final public func cancelSpeech(_ completion: ((Swift.Bool) -> Swift.Void)? = nil)
  @objc final public func destroySpeech(_ completion: ((Swift.Bool) -> Swift.Void)? = nil)
  @objc final public func teardown()
  @objc final public func speechRecognizer(_ speechRecognizer: Speech.SFSpeechRecognizer, availabilityDidChange available: Swift.Bool)
  @objc override dynamic public init()
  @objc deinit
}
@objc @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers final public class SwiftSoundQueue : ObjectiveC.NSObject, AVFAudio.AVAudioPlayerDelegate {
  @objc deinit
  public static let shared: DavoiceTTS.SwiftSoundQueue
  final public func notifyWhenURLFinishes(_ url: Foundation.URL, _ cb: @escaping () -> Swift.Void)
  final public var onItemDone: ((Foundation.URL) -> Swift.Void)?
  final public var onQueueEmpty: (() -> Swift.Void)?
  final public func enqueue(_ source: DavoiceTTS.SwiftSoundQueue.Source)
  final public func enqueueMany(_ sources: [DavoiceTTS.SwiftSoundQueue.Source])
  final public func stop()
  public enum Source {
    case fileURL(Foundation.URL)
    case named(Swift.String)
  }
  @objc final public func audioPlayerDidFinishPlaying(_ p: AVFAudio.AVAudioPlayer, successfully ok: Swift.Bool)
  final public func activatePlaybackOnlySession()
  final public func activateSpeaker()
}
@objc @objcMembers final public class DaVoiceTTS : ObjectiveC.NSObject {
  public struct Config {
  }
  @objc final public var onLastUtteranceFinished: (() -> Swift.Void)?
  @objc deinit
  public struct Biquad {
    public var b0: Swift.Float, b1: Swift.Float, b2: Swift.Float, a1: Swift.Float, a2: Swift.Float
    public init(b0: Swift.Float, b1: Swift.Float, b2: Swift.Float, a1: Swift.Float, a2: Swift.Float)
    public mutating func process(_ x: Swift.UnsafeMutablePointer<Swift.Float>, _ n: Swift.Int)
  }
  @objc public init(model: Foundation.URL) throws
  @objc final public func stopSpeaking()
  @objc final public func destroy()
  @objc(speak:sid:) final public func speak(_ txt: Swift.String, sid: Swift.Int32 = 0)
  @objc(speak:sid:speed:) final public func speak(_ txt: Swift.String, sid: Swift.Int32 = 0, speed: Swift.Float)
  @objc final public func synthesize_top(_ _text: Swift.String, speakerId: Swift.Int32 = 0, token: Foundation.UUID, speed_adjuster: Swift.Float) throws -> AVFAudio.AVAudioPCMBuffer
  @objc final public func playWav(_ url: Foundation.URL, markAsLastUtterance: Swift.Bool = true)
  @objc final public func playBuffer(_ buffer: AVFAudio.AVAudioPCMBuffer, markAsLastUtterance: Swift.Bool = true)
}
