/** * IA Command — Information Architecture extraction, visualization, and validation. * * `memi ia extract ` — Extract IA from connected Figma file * `memi ia create ` — Create an empty IA spec manually * `memi ia show [name]` — Print IA tree to terminal * `memi ia validate [name]`— Validate IA cross-references * `memi ia list` — List all IA specs */ import type { Command } from "commander"; import type { MemoireEngine } from "../engine/core.js"; import type { IASpec } from "../specs/types.js"; type IAJsonStatus = "completed" | "empty" | "missing"; export interface IAListPayload { status: IAJsonStatus; options: { json: boolean; }; summary: { total: number; pages: number; nodes: number; flows: number; }; specs: IAListEntry[]; } export interface IAListEntry { name: string; pages: number; nodes: number; flows: number; entryPoints: number; sourceFileKey: string | null; } export interface IAShowPayload { status: IAJsonStatus; options: { json: boolean; }; requestedName: string | null; spec: IAShowEntry | null; error?: { message: string; }; } export interface IAShowEntry { name: string; purpose: string; nodeCount: number; pages: number; sourceFileKey: string | null; entryPoints: string[]; flows: IASpec["flows"]; globals: IASpec["globals"]; root: IASpec["root"]; } export interface IAValidatePayload { status: IAJsonStatus; options: { json: boolean; }; requestedName: string | null; summary: { checked: number; valid: number; invalid: number; warnings: number; }; specs: IAValidateEntry[]; error?: { message: string; }; } export interface IAValidateEntry { name: string; valid: boolean; errors: Array<{ path: string; message: string; }>; warnings: Array<{ path: string; message: string; suggestion?: string; }>; } export declare function registerIACommand(program: Command, engine: MemoireEngine): void; export {};