export interface EonUiIconCategory {
  slug: string;
  label: string;
  copy: string;
}

export interface EonUiIconSource {
  slug: string;
  label: string;
  packageName: string;
  version: string;
  license: string;
  style: string;
  repository: string;
  importedCount: number;
  keptCount: number;
  duplicateCount: number;
}

export interface EonUiIconLibrarySummary {
  packageName: string;
  packageLabel: string;
  generatedAt: string;
  totalIcons: number;
  totalCategories: number;
  totalSources: number;
  totalImported: number;
  duplicatesRemoved: number;
  tokenPrefix: string;
  preferredSource: string;
  gridSize: number;
  sourceNote: string;
  categories: EonUiIconCategory[];
  sources: EonUiIconSource[];
}

export interface EonUiIconEntry {
  name: string;
  slug: string;
  label: string;
  category: string;
  categoryLabel: string;
  description: string;
  keywords: string[];
  aliases: string[];
  source: string;
  sourceLabel: string;
  sourceStyle: string;
  sourceName: string;
  sourceCategory: string;
  publicPath: string;
  svgPath: string;
  searchText: string;
}

export declare const iconLibrary: EonUiIconLibrarySummary;

export declare const iconCategories: readonly EonUiIconCategory[];

export declare const iconSources: readonly EonUiIconSource[];

export declare const iconManifestPath: './data/icons-manifest.json';

export declare const publicIconManifestPath: '/eonui/eon-icons/icons-manifest.json';

export declare const thirdPartyNoticesPath: './THIRD_PARTY_NOTICES.md';

export declare const publicThirdPartyNoticesPath: '/eonui/eon-icons/THIRD_PARTY_NOTICES.md';
