import type { atsvb } from 'audio-effects-sdk'; import type { LoggerFactory } from '../../../../../types/container'; import type { AudioTrackProcessor } from '../AudioTrackProcessor'; import type ConfigService from '../../../../../config/ConfigService'; declare enum ErrorType { INFO = "info", WARNING = "warning", ERROR = "error" } declare enum ErrorCode { PERFORMANCE_STOP = 1001, REDUCE_LATENCY = 1002, MODEL_LOAD_FAILED = 1010, PROCESSOR_INIT_ISSUE = 1020, AUTH_ISSUE = 1030, SUPPORT_ISSUE = 1040, PROCESSING_PROGRESS = 1060 } declare enum ErrorEmitter { ATSVB = "atsvb", STREAM_PROCESSOR = "stream_processor", ML_INFERENCE = "ml_inference", MODEL = "model", WORKLET = "worklet", WORKER = "worker", MODEL_LOADER = "model_loader" } interface ErrorObject { message: string; type: ErrorType; code?: ErrorCode; emitter?: ErrorEmitter; cause?: Error; data?: unknown; } declare global { interface Window { atsvb: typeof atsvb; } } export interface AudioTrackProcessorParams { asdkCustomerId: string; config: ConfigService; loggerFactory: LoggerFactory; onModelsLoaded?: () => void; onError?: () => void; } export declare class ASDKTrackProcessor implements AudioTrackProcessor { #private; readonly type = "asdk"; constructor(params: AudioTrackProcessorParams); setOnError(onError: (reason: string, error: Error | undefined) => void): void; init(): Promise; release(): void; get isProcessing(): boolean; processTrack(track: MediaStreamTrack): Promise; stopProcessing(): void; getUpdatedDebounceCounter(errorCode: number): number; onError(error: ErrorObject): void; } export {};