import { L33tTimed } from "./timed"; export declare class L33tConfig { zoom?: number | undefined; rotation_angle?: number | undefined; crop_x?: number | undefined; crop_y?: number | undefined; crop_width?: number | undefined; crop_height?: number | undefined; constructor(zoom?: number | undefined, rotation_angle?: number | undefined, crop_x?: number | undefined, crop_y?: number | undefined, crop_width?: number | undefined, crop_height?: number | undefined); } export declare class L33tMessage { iteration?: number | undefined; image?: string | undefined; time: number; memory_usage?: number | undefined; detections?: Array<{ class: string; confidence: number; bbox: number[]; }> | undefined; constructor(iteration?: number | undefined, image?: string | undefined, time?: number, memory_usage?: number | undefined, detections?: Array<{ class: string; confidence: number; bbox: number[]; }> | undefined); } export type Point = { x: number; y: number; }; export type ShapeType = 'polygon' | 'line' | 'point'; export interface DrawingCanvasProps { backgroundImage: string; initialShapes?: Shape[]; onSave: (shapes: Shape[]) => void; } export interface Shape { id: string; type: ShapeType; points: Point[]; isClosed?: boolean; } export declare class L33tAgent implements L33tTimed { lastMessage?: L33tMessage | undefined; config?: L33tConfig | undefined; shapes: Shape[]; timedLast: number; timedPrevious: number; timedTTL: number; constructor(lastMessage?: L33tMessage | undefined, config?: L33tConfig | undefined, shapes?: Shape[]); toJSON(): { lastMessage: L33tMessage | undefined; config: L33tConfig | undefined; shapes: Shape[]; timedLast: number; timedPrevious: number; timedTTL: number; }; }