/** * Interactive Character Builder * Prompts author for input and generates YAML character files */ import type { CharacterYAML } from '../types/novel.js'; export interface CharacterBuilderOptions { projectPath: string; outputDir?: string; } export declare class CharacterBuilder { private projectPath; private outputDir; constructor(options: CharacterBuilderOptions); /** * Interactive character creation - prompts for all fields */ createInteractive(promptFn: PromptFunction): Promise; /** * Create character from object (programmatic API - main API for tests) */ create(character: CharacterYAML, filename?: string): Promise; /** * Create character from object (programmatic API - alias for backwards compatibility) */ createFromObject(character: CharacterYAML, filename?: string): Promise; /** * Validate character data */ validate(characterData: Partial): string[]; /** * List all character files */ list(): Promise; /** * Write character to YAML file */ private writeCharacterFile; /** * Generate properly formatted YAML */ private generateYAML; /** * Generate safe filename from character name */ generateFilename(name: string): string; } /** * Function type for prompting user */ export type PromptFunction = (message: string, options?: PromptOptions) => Promise; export interface PromptOptions { required?: boolean; default?: string; multiline?: boolean; validate?: (value: string) => boolean; } //# sourceMappingURL=character-builder.d.ts.map