/** * `bitmagic assets list` — the project's `assets[]`, as the dev view's assets panel sees it * (`editor/server.ts` `GET /api/assets` reads the same array and nothing else). */ import { type JsonObject } from '../project/world-json.js'; export interface AssetRow { id: string; name: string; type: string; size?: number; /** Placed instances in `environmentObjects[]`. */ placed: number; /** * Every reference anywhere in world.json — placed instances plus levels, maps, doors, key items, * village rosters. * * Reported alongside {@link placed} rather than folded into it because the two answer different * questions, and counting only placed instances was actively misleading: a level asset showed * `0`, an agent read that as "safe to delete", and `assets remove` then refused — or, with * `--force`, removed the asset while leaving the level pointing at nothing. */ references: number; } export declare function summarizeAssets(world: JsonObject): AssetRow[]; export declare function formatSize(bytes: number | undefined): string; /** Fixed-width columns, no dependency, readable in a terminal and greppable by an agent. */ export declare function formatAssetTable(rows: AssetRow[]): string;