/**
 * Annotation types for point and line/rectangle annotations on charts.
 *
 * Geometry fields use Unix epoch seconds for time values.
 * startTime / endTime correspond to candle timestamps.
 * startPrice / endPrice correspond to price axis values.
 */

export interface Geometry {
  startTime?: number;
  startPrice?: number;
  endTime?: number;
  endPrice?: number;
}

export interface AnnotationType {
  id: number;
  name: string;
  display_name: string;
  color: string;
  category: string; // 'marker' | 'line' | 'rectangle'
  icon: string | null;
  is_active: boolean;
  created_at?: number | Date;
}

export interface Annotation {
  id: number;
  chart_id: number;
  timestamp: number; // Unix epoch seconds
  label_type: string;
  color: string | null;
  geometry: Geometry | null;
  created_at: number | Date;
}
