import Logger from '../logger/Logger'; import BackgroundFilterOptions from './BackgroundFilterOptions'; import BackgroundFilterSpec from './BackgroundFilterSpec'; export default class BackgroundFilterVideoFrameProcessor { /** * Based on the SDK version, return an asset group. * * @returns the default asset spec, based on the SDK version. */ private static defaultAssetSpec; /** * Set the given parameters to the url. Existing parameters in the url are preserved. * If duplicate parameters exist, they are overwritten, so it's safe to call this method multiple * times on the same url. * * @param url the initial url, can include query parameters * @param queryParams the query parameters to set * @returns a new url with the given query parameters. */ private static createUrlWithParams; /** * Based on the spec that is passed in set defaults for spec * @param spec the spec that was passed in * @returns An updated spec with defaults set */ protected static resolveSpec(spec?: BackgroundFilterSpec): BackgroundFilterSpec; /** * Based on the options that are passed in set defaults for options * @param options the options that are passed in * @returns An updated set of options with defaults set */ protected static resolveOptions(options?: BackgroundFilterOptions): BackgroundFilterOptions; /** * This method will detect the environment in which it is being used and determine if background * blur/replacement can be used. * @param spec The {@link BackgroundFilterSpec} spec that will be used to initialize assets * @param options options such as logger * @returns a boolean promise that will resolve to true if supported and false if not */ static isSupported(spec?: BackgroundFilterSpec, options?: { logger?: Logger; }): Promise; private static supportsBackgroundFilter; }