import { HMSMediaStreamPlugin } from '@100mslive/hms-video-store'; export declare type HMSEffectsBackground = string | MediaStream | MediaStreamTrack | HTMLVideoElement; export declare class HMSEffectsPlugin implements HMSMediaStreamPlugin { private effects; private blurAmount; private background?; private backgroundType; private preset; private initPromise; private resolveInit; private onInit; private onResolutionChangeCallback?; private TAG; private operationQueue; private effectRequestId; constructor(effectsSDKKey: string, onInit?: () => void); getName(): string; isSupported(): boolean; private enqueueOperation; removeBlur(): void; removeBackground(): void; /** * @param blur ranges between 0 and 1 */ setBlur(blur: number): void; /** * @param preset can be 'quality' or 'balanced'. The 'quality' preset has better quality but higher CPU usage than 'balanced' */ setPreset(preset: 'quality' | 'balanced'): Promise; onResolutionChange(callback: (width: number, height: number) => void): void; getPreset(): "balanced" | "quality" | "lightning"; removeEffects(): void; setBackground(url: HMSEffectsBackground): void; getBlurAmount(): number; getBackground(): string | HTMLVideoElement | MediaStream | MediaStreamTrack; /** * Get performance metrics from the effects SDK * @returns metrics object with fps, processing time, etc. */ getMetrics(): import("effects-sdk/types/tsvb").Metrics; apply(stream: MediaStream): MediaStream; stop(): void; private applyEffect; }