Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
c4dde2420This file is pinned to the selected release. Download the original to open it in your design tool.
import type { TTSCompletion, TTSDoneListener, TTSPlaybackListener } from 'tts-types'
export type TTS = {
stream: (text: string, volume?: number, callback?: TTSCompletion) => void
streamKoe?: (koe: string, volume?: number, callback?: TTSCompletion) => void
onPlayed?: TTSPlaybackListener
onDone?: TTSDoneListener
}
export type WebRadioState = 'idle' | 'connecting' | 'buffering' | 'playing' | 'stalled' | 'retrying' | 'error'
export type WebRadioStartOptions = {
url: string
volume?: number
sampleRate?: number
reconnect?: boolean
onStateChanged?: (state: WebRadioState, reason?: string) => void
}
export type WebRadioCapability = {
readonly state: WebRadioState
start(options: WebRadioStartOptions): Promise<void>
stop(): void
setVolume(volume: number): void
}
export type RemoteConversationState = 'standby' | 'connecting' | 'listening' | 'recognizing' | 'speaking' | 'blocked'
export type RemoteConversationTransportState = 'disconnected' | 'unsupported' | 'ready'
export type RemoteConversationActivationState = 'inactive' | 'active'
export type RemoteConversationListener = (state: RemoteConversationState, error?: string) => void
export type RemoteConversationTransportListener = (state: RemoteConversationTransportState) => void
export type RemoteConversationSessionDelegate = {
readonly state: RemoteConversationState
readonly lastError?: string
readonly transportState: RemoteConversationTransportState
requestStart(): string
requestStop(): string
subscribe(listener: RemoteConversationListener): () => void
subscribeTransport(listener: RemoteConversationTransportListener): () => void
}
export type RemoteConversationSession = RemoteConversationSessionDelegate & {
readonly activationState: RemoteConversationActivationState
activate(): void
deactivate(): void
}
export type StackchanContext = unknown
export type RobotLed = {
on(r: number, g: number, b: number, duration?: number, index?: number, count?: number): void
off(index?: number, count?: number): void
blink(r: number, g: number, b: number, duration: number, index?: number, count?: number): void
rainbow(index?: number, count?: number): void
}
export type NetworkReadyResult =
| {
status: 'connected'
}
| {
status: 'skipped'
reason: string
}
| {
status: 'failed'
reason: string
}