import type { Logger } from '#src/utils/evented-logger.js';
import type { AnyTemplateFileExtractor } from './runner/template-file-extractor.js';
export interface RunTemplateFileExtractorsOptions {
    /**
     * Whether to auto-generate extractor.json files for generators that don't have one.
     */
    autoGenerateExtractor?: boolean;
    /**
     * Whether to skip cleaning the output directories (templates and generated).
     */
    skipClean?: boolean;
}
export interface GenerateTemplateFilesOptions {
    /**
     * Whether to skip cleaning the output directories (templates and generated).
     */
    skipClean?: boolean;
}
/**
 * Run the template file extractors on a target output directory
 *
 * @param extractors - The template file extractors to run
 * @param outputDirectories - The output directories to run the extractors on
 * @param generatorPackageMap - The map of package names with generators to package paths
 * @param logger - The logger to use
 * @param options - The options to use
 */
export declare function runTemplateFileExtractors(templateFileExtractors: AnyTemplateFileExtractor[], outputDirectory: string, generatorPackageMap: Map<string, string>, logger: Logger, options?: RunTemplateFileExtractorsOptions): Promise<void>;
/**
 * Generate template files from existing extractor.json configurations without running extraction
 *
 * @param templateFileExtractors - The template file extractors to use for generation
 * @param outputDirectory - The output directory (not used for generation but needed for context)
 * @param generatorPackageMap - The map of package names with generators to package paths
 * @param logger - The logger to use
 * @param options - The options to use
 */
export declare function generateTemplateFiles(templateFileExtractors: AnyTemplateFileExtractor[], generatorPackageMap: Map<string, string>, logger: Logger, options?: GenerateTemplateFilesOptions): Promise<void>;
//# sourceMappingURL=run-template-file-extractors.d.ts.map