import { ExtractedVariables } from '../types'; import { ProcessOptions, TemplatizerResult } from './types'; export declare class Templatizer { constructor(); /** * Process a local template directory (extract + prompt + replace) * @param templateDir - Local directory path (MUST be local, NOT git URL) * @param outputDir - Output directory for generated project * @param options - Processing options (argv overrides, noTty, prompter) * @returns Processing result */ process(templateDir: string, outputDir: string, options?: ProcessOptions): Promise; /** * Extract variables from template directory */ extract(templateDir: string): Promise; /** * Prompt user for variables * @param extracted - Extracted variables from template * @param argv - Pre-populated answers * @param prompter - Optional existing Prompter instance to reuse * @param noTty - Whether to disable TTY mode (only used when creating a new prompter) */ prompt(extracted: ExtractedVariables, argv?: Record, prompter?: import('inquirerer').Inquirerer, noTty?: boolean): Promise>; /** * Replace variables in template */ replace(templateDir: string, outputDir: string, extracted: ExtractedVariables, answers: Record): Promise; /** * Validate template directory exists and has content */ validateTemplateDir(templateDir: string): void; }