import { Context, Service } from 'koishi'; import { Semaphore } from '@shopify/semaphore'; import { Worker } from 'node:worker_threads'; interface WorkerInstance { worker: Worker; busy: boolean; } export declare class SilkService extends Service { protected semaphore: Semaphore; protected workers: WorkerInstance[]; protected workerUsed: number; constructor(ctx: Context); encode(input: ArrayBufferView | ArrayBuffer, sampleRate: number): Promise; decode(input: ArrayBufferView | ArrayBuffer, sampleRate: number): Promise; getDuration(data: ArrayBufferView | ArrayBuffer, frameMs?: number): number; isWav(data: ArrayBufferView | ArrayBuffer): boolean; getWavFileInfo(data: ArrayBufferView | ArrayBuffer): import("silk-wasm").WavFileInfo; isSilk(data: ArrayBufferView | ArrayBuffer): boolean; private postMessage; } export {};