/**
 * Content bundle types matching server-side bundle contracts.
 * These types are parsed from the binary asset response of a completed content job.
 */

export interface DiagramBundle {
  type: "diagram-bundle";
  svgBase64: string;
  pngBase64: string;
  mermaidSource: string;
  stripped: boolean;
}

export interface IconSetBundle {
  type: "icon-set-bundle";
  style: string;
  icons: Array<{
    name: string;
    svgSource: string;
    pngs: Record<string, string>;
  }>;
}

export interface ThemePaletteBundle {
  type: "theme-palette-bundle";
  [key: string]: unknown;
}

export type ContentBundle = DiagramBundle | IconSetBundle | ThemePaletteBundle;
