export interface CharacterArgs { name: string; prompt: string; applyToPlayer?: boolean; headScale?: string; /** `--fresh`: forge a new one, never substitute a stored body. */ fresh?: boolean; /** * citty's negative boolean: `--no-library` arrives as `false`; the flag has no positive form. * The deprecated spelling of `--fresh`, kept working because every scaffolded AGENTS.md * written before the rename teaches it. */ library?: boolean; /** `--library-only`: take the closest stored body, never forge, never charge. */ libraryOnly?: boolean; /** A row a prior search returned, which `bitmagic character add --id` adds verbatim. */ libraryPick?: { sid: string; assetUrl: string; description?: string; similarity: number; }; /** Absent = the generator's default (true); the command fills it from the project's art style. */ voxelize?: boolean; /** Asset Forger image-to-mesh model; absent = the Forger default. */ meshModel?: string; } /** * The character default a project's art style implies: a low-poly game keeps the textured rig. * Read from the cwd's project like every other generate command; outside a project the answer * is "declares nothing", so the generator's own default (voxelize) stands and `loadProjectContext` * reports the missing project on the very next line. */ export declare function defaultVoxelizeForProject(): boolean | undefined; export declare function buildCharacterBody(args: CharacterArgs): Record; export declare const NAME_ARG: { readonly type: "string"; readonly required: true; readonly description: "Unique name for the character."; }; export declare const PROMPT_ARG: { readonly type: "string"; readonly required: true; readonly description: "Description of the character."; }; export declare const APPLY_TO_PLAYER_ARG: { readonly type: "boolean"; readonly description: "Set this character as the PLAYER. Omit to use the generator default (true)."; }; export declare const HEAD_SCALE_ARG: { readonly type: "string"; readonly description: "Head size as a percentage of normal, 50-300. Omit to use the generator default."; }; export declare const FRESH_ARG: { readonly type: "boolean"; readonly description: string; }; export declare const VOXELIZE_ARG: { readonly type: "boolean"; readonly description: "Voxelize the rigged body. Omit to follow game.json artStyle: voxel games voxelize, low-poly games keep the textured rig."; readonly negativeDescription: "Keep the textured low-poly rig instead of voxelizing it."; }; export declare const MESH_MODEL_ARG: { readonly type: "string"; readonly description: "Image-to-mesh model. Low-poly characters already default to 'runware-rodin-gen-2', which bills 60 sparks and takes ~3 min; pass 'unified-trellis' to put one back on the cheap lane at 15 sparks. Voxel characters ignore the default and use the Forger's."; }; /** * The deprecated spelling of `--fresh`. * * Kept declared because citty derives `--no-library` from an argument NAMED * `library`, so there is no way to accept the old flag without it — and no way * to hide it either: citty's `ArgDef` has no `hidden` field (only `CommandMeta` * does). So it stays visible and says what it is. */ export declare const LIBRARY_ARG: { readonly type: "boolean"; readonly description: "Deprecated and unnecessary — the library is consulted by default. Use --fresh to skip it."; readonly negativeDescription: "Deprecated spelling of --fresh. Always makes a new character."; };