import type { DataSourceField, DataSourceRow } from "@/lib/content/types"; export interface TemplateDataSourceBlueprint { key: string; name: string; description?: string; fields: DataSourceField[]; rows?: Array & { id?: string }>; } export interface TemplateBlockBlueprint { type: string; schemaVersion?: number; config: Record; responsiveLayout?: Record; } export interface TemplatePageBlueprint { slug: string; title: string; publicNote?: string; blocks: TemplateBlockBlueprint[]; } export interface TemplateBlueprint { slug: string; name: string; description: string; category: string; builtIn: boolean; dataSources: TemplateDataSourceBlueprint[]; pages: TemplatePageBlueprint[]; } export interface AppliedTemplate { templateSlug: string; characterId: string; pages: Array<{ id: string; characterId: string; slug: string; title: string; publicNote: string | null; navOrder: number; visible: false; version: 1; blocks: Array<{ id: string; type: string; schemaVersion: number; config: Record; responsiveLayout: Record; sortOrder: number; }>; }>; dataSources: Array<{ id: string; name: string; description: string | null; version: 1; fields: DataSourceField[]; rows: DataSourceRow[]; }>; }