export interface ManifestEntry {
    file: string;            // relative to app/, forward slashes
    line: number;            // 1-based line in source
    tag: string;             // 'v-btn', 'div', etc.
    parentChain: string[];   // ['AppSidebar', 'nav', 'v-list-item']
    signature: string;       // canonical signature
    text: string | null;     // first 24 chars of static text
    key: string | null;      // static :key attr value if present
    ref: string | null;      // ref="..." attr value if present
    createdAt: string;       // ISO-8601
}

export interface DeletedEntry {
    lastSignature: string;
    lastFile: string;
    deletedAt: string;
}

export interface Manifest {
    $schema?: string;
    version: 1;
    lastId: number;
    entries: Record<string, ManifestEntry>;   // key: id-as-string
    deleted: Record<string, DeletedEntry>;
}
