import { ModuleState } from './campaign.js';

export interface PackBlock {
  id: string;
  blockIdx: number;
  productId: string;
  format: string;
  title: string;
  theme: string;
  hook: string;
  bodyText: string;
  cta: string;
  variants: unknown[];
  tasks: unknown[];
}

export function generatePack(
  state: ModuleState,
  productId: string,
  formatFilter?: string[] | null
): Promise<PackBlock[]>;

export function getPackSystemPrompt(
  product: { name: string; category?: string; objective?: string; [key: string]: unknown },
  identity: Record<string, unknown>
): string;

export function getPackUserPrompt(
  product: { name: string; [key: string]: unknown },
  identity: Record<string, unknown>,
  formatFilter?: string[] | null
): string;
