import { FaceMeshWorkerResult } from '../providers/face-mesh.client'; import { SegmentationResult } from '../providers/segmentation.client'; import { EffectFeature, IMLProvider, IVideoEffect } from '../types'; export interface MLDetectionResult { segmentation: SegmentationResult | null; faceMesh: FaceMeshWorkerResult | null; } export interface CustomProvidersConfig { segmentation?: IMLProvider; faceMesh?: IMLProvider; } export declare class MLProvidersManager { private segmentationProvider; private faceMeshProvider; private requiredFeatures; registerProvider(feature: EffectFeature, provider: IMLProvider): void; updateRequiredFeatures(effects: IVideoEffect[]): void; initializeRequired(): Promise; detect(imageData: ImageData, timestamp: number): Promise; wouldReturnCache(): boolean; getCachedResults(): MLDetectionResult; disposeUnused(): void; dispose(): void; private detectSegmentation; private detectFaceMesh; }