import type { LucideIcon } from "lucide-react";
import {
  CheckCircle2,
  Code,
  Columns,
  Columns2,
  Copy,
  Crop,
  Eraser,
  Eye,
  EyeOff,
  FileEdit,
  FileImage,
  FileOutput,
  FileText,
  FileType,
  Film,
  Focus,
  Frame,
  Globe,
  Grid3x3,
  Image,
  Info,
  Layers,
  LayoutGrid,
  Maximize2,
  Minimize2,
  Palette,
  PenLine,
  PenTool,
  Pipette,
  QrCode,
  RotateCw,
  ScanFace,
  ScanLine,
  ScanText,
  ShieldOff,
  SlidersHorizontal,
  Sparkles,
  Stamp,
  Star,
  TextCursorInput,
  Type,
  Undo2,
  UserCheck,
  Wand2,
  Wrench,
  Zap,
  ZoomIn,
} from "lucide-react";

// Only the icons actually used by tool definitions in @ashim/shared constants.
// Avoids `import * as icons from "lucide-react"` which pulls the entire 1000+ icon library.
export const ICON_MAP: Record<string, LucideIcon> = {
  CheckCircle2,
  Code,
  Columns,
  Columns2,
  Copy,
  Crop,
  Eraser,
  Eye,
  EyeOff,
  FileEdit,
  FileImage,
  FileOutput,
  FileText,
  FileType,
  Film,
  Focus,

  Frame,
  Globe,
  Grid3x3,
  Image,
  Info,
  LayoutGrid,
  Layers,
  Maximize2,
  Minimize2,
  Palette,
  PenLine,
  PenTool,
  Pipette,
  QrCode,
  RotateCw,
  ScanFace,
  ScanLine,
  ScanText,
  ShieldOff,
  SlidersHorizontal,
  Sparkles,
  Stamp,
  Star,
  TextCursorInput,
  Type,
  Undo2,
  UserCheck,
  Wand2,

  Wrench,
  Zap,
  ZoomIn,
};
