UNPKG

murmuraba

Version:

Real-time audio noise reduction with advanced chunked processing for web applications

40 lines 1.56 kB
/** * Application Layer - Gain Control Use Cases * Orchestrates domain logic and coordinates with external systems */ import { GainValue, GainPreset, GainRepository, GainEventPublisher, GainPolicy } from '../../domain/gain/gain-domain'; export interface GainUseCaseEvents { onGainChanged?: (gain: GainValue) => void; onPresetApplied?: (preset: GainPreset, gain: GainValue) => void; onError?: (error: Error) => void; } export declare class GainUseCases { private readonly events; private readonly controller; constructor(repository: GainRepository, eventPublisher: GainEventPublisher, events?: GainUseCaseEvents, policy?: GainPolicy); setInputGain(gain: number): Promise<GainValue>; getCurrentInputGain(): Promise<GainValue>; applyGainPreset(preset: GainPreset): Promise<GainValue>; incrementGain(): Promise<GainValue>; decrementGain(): Promise<GainValue>; saveCurrentGainAsPreset(name: string): Promise<void>; loadNamedPreset(name: string): Promise<GainValue | null>; /** * Get gain information for UI display */ getGainDisplayInfo(): Promise<{ current: GainValue; dbValue: number; description: string; isNormal: boolean; isBoost: boolean; }>; private getGainDescription; } /** * Factory for creating gain use cases with proper wiring */ export declare class GainUseCaseFactory { static create(repository: GainRepository, events?: GainUseCaseEvents, policy?: GainPolicy): GainUseCases; } //# sourceMappingURL=gain-use-cases.d.ts.map