import { HMSPluginSupportResult, HMSVideoPlugin, HMSVideoPluginType } from '@100mslive/hms-video-store'; import { HMSVirtualBackground, HMSVirtualBackgroundTypes } from './interfaces'; export declare class HMSVBPlugin implements HMSVideoPlugin { private TAG; private background; private backgroundType; private segmentation; private outputCanvas?; private outputCtx?; private gifFrames; private gifFramesIndex; private gifFrameImageData; private tempGifCanvas; private tempGifContext; private prevResults?; private input?; constructor(background: HMSVirtualBackground, backgroundType: HMSVirtualBackgroundTypes); isSupported(): boolean; isBlurSupported(): boolean; checkSupport(): HMSPluginSupportResult; getName(): string; getPluginType(): HMSVideoPluginType; init(): Promise; /** * For bgType HMSVirtualBackgroundTypes.IMAGE pass bg as an image element * For bgType HMSVirtualBackgroundTypes.VIDEO pass video * For bgType HMSVirtualBackgroundTypes.GIF pass the gif url * @param {HMSVirtualBackground} background * @param {HMSVirtualBackgroundTypes} backgroundType */ setBackground(background: HMSVirtualBackground, backgroundType: HMSVirtualBackgroundTypes): Promise; getBackground(): HMSVirtualBackground; stop(): void; processVideoFrame(input: HTMLCanvasElement, output: HTMLCanvasElement, skipProcessing?: boolean): Promise; private setImage; private handleResults; private loadGIF; private log; private renderBackground; private renderBlur; private renderGIF; } export { HMSVirtualBackgroundTypes };