export interface MonitoringMethod {
  id: string;
  name: string;
  description: string;
  accuracy: number;
  measurementType: 'percentage' | 'daily-count';
  thresholds: {
    green: number;
    yellow: number;
  };
  implementation: string[];
  thresholdDescriptions: {
    safe: string;
    warning: string;
    danger: string;
  };
  sampleSizeLabel?: string;
  countLabel?: string;
  resultUnit?: string;
}

export const MONITORING_METHODS: MonitoringMethod[] = [
  {
    id: 'sugar-roll',
    name: 'Sugar Roll Test',
    description: 'A non-lethal method using powdered sugar to dislodge mites from bees',
    accuracy: 85,
    measurementType: 'percentage',
    thresholds: {
      green: 2,
      yellow: 5
    },
    implementation: [
      'Collect ~300 bees from brood frames into jar',
      'Add 2 tablespoons powdered sugar',
      'Roll jar gently for 1 minute',
      'Let stand for 1 minute',
      'Shake sugar and mites through screen',
      'Count mites and calculate infestation rate'
    ],
    thresholdDescriptions: {
      safe: 'Safe: <2%',
      warning: 'Warning: 2-5%',
      danger: 'Danger: >5%'
    },
    sampleSizeLabel: 'Number of Bees',
    countLabel: 'Mite Count',
    resultUnit: '%'
  },
  {
    id: 'alcohol-wash',
    name: 'Alcohol Wash',
    description: 'A highly accurate but lethal method to count mites',
    accuracy: 95,
    measurementType: 'percentage',
    thresholds: {
      green: 2,
      yellow: 5
    },
    implementation: [
      'Collect ~300 bees from brood frames',
      'Submerge bees in alcohol solution',
      'Shake vigorously for 1 minute',
      'Strain through mesh to separate mites',
      'Count mites and calculate infestation rate'
    ],
    thresholdDescriptions: {
      safe: 'Safe: <2%',
      warning: 'Warning: 2-5%',
      danger: 'Danger: >5%'
    },
    sampleSizeLabel: 'Number of Bees',
    countLabel: 'Mite Count',
    resultUnit: '%'
  },
  {
    id: 'sticky-board',
    name: 'Sticky Board',
    description: 'A non-invasive method to monitor natural mite fall',
    accuracy: 70,
    measurementType: 'daily-count',
    thresholds: {
      green: 10,
      yellow: 25
    },
    implementation: [
      'Insert sticky board under screened bottom board',
      'Leave for 24-72 hours',
      'Count fallen mites',
      'Calculate daily mite drop rate'
    ],
    thresholdDescriptions: {
      safe: 'Safe: <10 mites/day',
      warning: 'Warning: 10-25 mites/day',
      danger: 'Danger: >25 mites/day'
    },
    sampleSizeLabel: 'Days Monitored',
    countLabel: 'Total Mites',
    resultUnit: 'mites/day'
  },
  {
    id: 'co2-tester',
    name: 'CO2 Varroa Tester',
    description: 'A bee-safe method using CO2 anesthesia to detect mites accurately',
    accuracy: 90,
    measurementType: 'percentage',
    thresholds: {
      green: 2,
      yellow: 5
    },
    implementation: [
      'Collect ~300 bees from brood frames into the CO2 chamber',
      'Apply CO2 for 60-90 seconds to anesthetize bees',
      'Shake the chamber to dislodge mites',
      'Count visible mites through the transparent chamber',
      'Allow bees to recover and return to hive',
      'Calculate infestation rate'
    ],
    thresholdDescriptions: {
      safe: 'Safe: <2%',
      warning: 'Warning: 2-5%',
      danger: 'Danger: >5%'
    },
    sampleSizeLabel: 'Number of Bees',
    countLabel: 'Mite Count',
    resultUnit: '%'
  },
  {
    id: 'drone-brood',
    name: 'Broodcell Count',
    description: 'A method to detect up to 75% of varroa population by examining drone brood cells',
    accuracy: 80,
    measurementType: 'percentage',
    thresholds: {
      green: 5,
      yellow: 20
    },
    implementation: [
      'Select a drone brood frame facing the entrance',
      'Uncap the upper front quarter of the brood frame',
      'Count mites in uncapped cells',
      'Calculate infestation percentage'
    ],
    thresholdDescriptions: {
      safe: 'Safe: <5%',
      warning: 'Warning: 5-20%',
      danger: 'Danger: >20%'
    },
    sampleSizeLabel: 'Number of Cells',
    countLabel: 'Mite Count',
    resultUnit: '%'
  }
];
