
export interface LocalizedPlantContent {
  name: string;
  description: string;
  light: string;
}

export interface MultilingualPlantEntry {
  botanicalName: string;
  confidence: number;
  careInfo: {
    waterIntervalDays: number;
    temp: string;
  };
  imageUri: string;
  categories: string[];
  translations: {
    de: LocalizedPlantContent;
    en: LocalizedPlantContent;
    es: LocalizedPlantContent;
  };
}

export interface CareInfo {
  waterIntervalDays: number;
  light: string;
  temp: string;
}

export interface PlantHealthIssue {
  title: string;
  confidence: number;
  details: string;
}

export interface PlantHealthCheck {
  generatedAt: string;
  overallHealthScore: number;
  status: 'healthy' | 'watch' | 'critical';
  likelyIssues: PlantHealthIssue[];
  actionsNow: string[];
  plan7Days: string[];
  creditsCharged: number;
  imageUri?: string;
}

export interface Plant {
  id: string;
  name: string;
  botanicalName: string;
  imageUri: string;
  dateAdded: string; // Serialized Date
  careInfo: CareInfo;
  lastWatered: string; // Serialized Date
  wateringHistory?: string[]; // Array of serialized dates
  gallery?: string[]; // Array of image URIs
  description?: string;
  notificationsEnabled?: boolean;
  healthChecks?: PlantHealthCheck[];
}

export interface IdentificationResult {
  name: string;
  botanicalName: string;
  confidence: number;
  careInfo: CareInfo;
  description?: string;
}

export enum Tab {
  HOME = 'home',
  SEARCH = 'search',
  SETTINGS = 'settings',
}

export type Language = 'de' | 'en' | 'es';

export type AppearanceMode = 'system' | 'light' | 'dark';

export type AppColorScheme = 'light' | 'dark';

export type ColorPalette = 'forest' | 'ocean' | 'sunset' | 'mono';
