export interface StateFile { version: 3; scopes: Record; } export interface ScopeState { scopeId: string; sourceId: string; targetId: string; fileKey: string; fileName: string; fileLastModified: string; configHash?: string; items: ItemState[]; } export interface ItemState { scopeId: string; sourceId: string; targetId: string; figmaNodeId: string; canonicalName: string; outputRelPath: string; format: string; fingerprint?: string; settingsHash?: string; rasterBackedSvg?: boolean; svgRepresentation?: "embedded-node-png" | "embedded-image-fills-v1"; updatedAt?: string | null; lastExportHash: string; } export interface DiffResult { new: ItemState[]; updated: ItemState[]; deleted: ItemState[]; renamed: Array<{ from: ItemState; to: ItemState; requiresExport: boolean; }>; unchanged: ItemState[]; } export interface LegacyStateFileV1 { version: number; files: Record; }>; }