import { type ResolveDeps } from './resolve'; export type WorldSystemFinding = 'current' | 'in-range-stale' | 'out-of-range' | 'missing-recommended' | 'never-installed' | 'lock-drift' | 'unknown'; export type WorldSystemRow = { slug: string; pin: string | null; locked: string | null; newestInRange: string | null; catalogLatest: string | null; finding: WorldSystemFinding; note: string; }; export type WorldCurrency = { worldDir: string; rows: WorldSystemRow[]; }; export type CatalogClient = ResolveDeps; export declare const ADVISORY_SYSTEMS: { slug: string; reason: string; }[]; export type WeaponPinFinding = 'current' | 'newer-version' | 'unresolved' | 'unknown'; export type WeaponPinRow = { /** The pin as authored, `assetId@version`. */ pin: string; assetId: string; pinnedVersion: number | null; currentVersion: number | null; title: string | null; finding: WeaponPinFinding; note: string; }; export type WeaponPinsCurrency = { rows: WeaponPinRow[]; /** helix.json's multiplayer block and public/multiplayer.json declare DIFFERENT weaponItems. */ copiesDiverge: boolean; }; /** The transport slice the vault resolve needs — item-def inspect's shape, injectable for tests. */ export type VaultResolveApi = { request(method: string, path: string): Promise; }; export declare function assessWeaponPins(dir: string, client?: VaultResolveApi): Promise; export type VaultAssetFinding = 'current' | 'newer-version' | 'unresolved'; export type VaultAssetRow = { assetId: string; kind: string; installedVersion: number; currentVersion: number | null; title: string | null; finding: VaultAssetFinding; note: string; }; export declare function assessVaultAssets(dir: string, client?: VaultResolveApi): Promise; export type InteractableFinding = 'current' | 'reference-moved' | 'checksum-drift' | 'unresolved'; export type InteractableRow = { itemId: string; /** The registry package slug (`helix_interactables/@`). */ id: string; installedVersion: string; currentVersion: string | null; title: string | null; /** How many placed instances of this exact install the world carries. */ instances: number; finding: InteractableFinding; note: string; }; export declare function assessInteractables(dir: string, client?: VaultResolveApi): Promise; export type PlatformDeliveryStatus = { /** What the real publish validator says about the source-tree declarations ([] = passes). */ errors: string[]; /** The descriptor's declared delivery, null when the file is missing or unreadable. */ delivery: string | null; descriptorPresent: boolean; /** vite.config.ts externalizes `@helix/` — false means the next install marks the world legacy-bundled. */ viteExternalizes: boolean; /** index.html carries the helix:three markers install rewrites the import map between. */ markersPresent: boolean; }; export declare function assessPlatformDelivery(dir: string, origin?: string): PlatformDeliveryStatus | null; export type ThreeCurrencyFinding = 'current' | 'behind-platform' | 'devdep-skew' | 'unknown'; export type ThreeCurrencyRow = { finding: ThreeCurrencyFinding; note: string; }; export type ThreeCurrency = { /** THREE_VERSION from src/helix.runtime.ts, else the version inside the index.html import-map URL. */ worldVersion: string | null; /** The `three` the locked system envelope declares — what the next install would wire. */ envelopeVersion: string | null; /** The world's local devDep range, verbatim from package.json. */ devDep: string | null; rows: ThreeCurrencyRow[]; }; export declare function assessThreeCurrency(dir: string): ThreeCurrency | null; export declare function assessWorldCurrency(dir: string, client?: CatalogClient): Promise;