import Vnmf from '../../index' declare module '../../index' { interface VideoDecoder { /** Get the next frame decoding data * @supported weapp * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.getFrameData.html */ getFrameData(): Promise /** Disable listening events * @supported weapp * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.off.html */ off( /** Event Name */ eventName: keyof VideoDecoder.on.EventName, /** The echo function performed on event trigger */ callback: VideoDecoder.on.Callback ): void /** Recall function to register listener events * @supported weapp * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.on.html */ on( /** Event Name */ eventName: keyof VideoDecoder.on.EventName, /** The echo function performed on event trigger */ callback: VideoDecoder.on.Callback ): void /** Remove Decoder * @supported weapp * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.remove.html */ remove(): Promise /** Jump to decode at some point * @supported weapp * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.seek.html */ seek( /** The decoding position of the jump,Units ms */ position: number ): Promise /** Decoding started. * @supported weapp * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.start.html */ start(option: VideoDecoder.start.Option): Promise /** Stop decoding * @supported weapp * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.stop.html */ stop(): Promise } namespace VideoDecoder { namespace getFrameData { interface Result { /** Frame Data Width */ width: number /** Frame Data Height */ height: number /** Frame Data */ data: ArrayBuffer /** Frame Raw pts */ pkPts: number /** Frame Raw dts */ pkDts: number } } namespace on { /** eventName Legal value [v] */ interface EventName { /** Start Event。Back {width, height} */ start /** End of Event。 */ stop /** seek Completed Events。 */ seek /** Change in the buffer zone incidents。 */ bufferchange /** Decoding End Event。 */ ended } /** The echo function performed on event trigger */ type Callback = (res?: { width: number height: number }) => void } namespace start { interface Option { /** Video source file required to decode。 */ source: string /** Decoding Mode。0:Press pts Decoding;1:Decode as fast you can. * @default 1 */ mode?: number /** Do you not need an audio track? * @default false */ abortAudio?: boolean /** Do you not need a video track? * @default false */ abortVideo?: boolean } } } interface VnmfStatic { /** Create a video decoder,A frame-by-frame access to decoded data * @supported weapp * @see https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/wx.createVideoDecoder.html */ createVideoDecoder(): VideoDecoder } }