import type { AnalysisOptions } from './Providers.js'; export interface DetectedObject { object: string; label: string; normalized_box_2d: [number, number, number, number]; confidence: number; mid?: string; } export interface ObjectDetectionResult { detections: DetectedObject[]; image_metadata: { width: number; height: number; size_bytes: number; format: string; }; processing_time?: number; model: string; provider: string; } export interface ObjectDetectionArgs { imageSource: string; prompt?: string; outputFilePath?: string; viewportWidth?: number; viewportHeight?: number; options?: AnalysisOptions; } export interface ObjectDetectionMetadata { model: string; provider: string; usage?: { promptTokenCount: number; candidatesTokenCount: number; totalTokenCount: number; }; processingTime: number; fileType?: string; fileSize?: number; modelVersion?: string; responseId?: string; fileSaveStatus?: 'saved' | 'skipped_due_to_permissions'; coordinateScale: number; coordinateFormat: string; coordinateOrigin: string; detectionMethod?: 'vision' | 'ml' | 'hybrid'; imageOrientation?: number; timestamp?: string; } export interface DetectionWithFile { detections: DetectedObject[]; file: { path: string; size_bytes: number; format: string; }; image_metadata: { width: number; height: number; original_size: number; viewport?: { width: number; height: number; }; }; summary: string; metadata: ObjectDetectionMetadata; } export interface DetectionWithTempFile { detections: DetectedObject[]; tempFile: { path: string; size_bytes: number; format: string; }; image_metadata: { width: number; height: number; original_size: number; viewport?: { width: number; height: number; }; }; summary: string; metadata: ObjectDetectionMetadata; } export interface DetectionOnly { detections: DetectedObject[]; image_metadata: { width: number; height: number; original_size: number; viewport?: { width: number; height: number; }; }; summary: string; metadata: ObjectDetectionMetadata; } export type ObjectDetectionResponse = DetectionWithFile | DetectionWithTempFile | DetectionOnly; //# sourceMappingURL=ObjectDetection.d.ts.map