import { Service, type IAgentRuntime, type ServiceTypeName } from '@elizaos/core'; import { EntityTracker } from './entity-tracker'; import { FaceRecognition } from './face-recognition'; import { VisionMode, type CameraInfo, type EnhancedSceneDescription, type SceneDescription, type ScreenCapture, type VisionFrame } from './types'; export declare class VisionService extends Service { static serviceType: ServiceTypeName; capabilityDescription: string; private visionConfig; private camera; private lastFrame; private lastSceneDescription; private frameProcessingInterval; private screenProcessingInterval; private isProcessing; private isProcessingScreen; private visionModels; private faceRecognition; private entityTracker; private audioCapture; private streamingAudioCapture; private screenCapture; private florence2; private ocrService; private lastScreenCapture; private lastEnhancedScene; private workerManager; private lastTfUpdateTime; private lastVlmUpdateTime; private lastTfDescription; private readonly DEFAULT_CONFIG; constructor(runtime: IAgentRuntime); private parseConfig; static start(runtime: IAgentRuntime): Promise; private checkCameraTools; private initialize; private initializeScreenVision; private initializeCameraVision; private initializeAudioCapture; private storeAudioTranscription; private startProcessing; private startFrameProcessing; private captureAndProcessFrame; private processFrameData; private calculatePixelChange; private updateSceneDescription; private describeSceneWithVLM; private detectMotionObjects; private mergeAdjacentObjects; private classifyObjectBySize; private detectPeopleFromMotion; private startScreenProcessing; private captureAndProcessScreen; private analyzeTile; private updateEnhancedSceneDescription; getCurrentFrame(): Promise; getSceneDescription(): Promise; getEnhancedSceneDescription(): Promise; getScreenCapture(): Promise; getVisionMode(): VisionMode; setVisionMode(mode: VisionMode): Promise; private stopProcessing; getCameraInfo(): CameraInfo | null; isActive(): boolean; private calculateBoxOverlap; private getDominantExpression; getEntityTracker(): EntityTracker; getFaceRecognition(): FaceRecognition; stop(): Promise; private findCamera; private listCameras; private createCameraDevice; captureImage(): Promise; }