/** Shared utilities for back and front handlers. */
import type { GenerationContext, ModuleDefinitionSchema, Property } from '../domain/model.js';
import type { FileLogger, GenerateOptions } from '../engine/file-manager.js';
export declare const logger: FileLogger;
/**
 * Recursively copies `src` into `dest`.
 *
 * @param src   - Source directory.
 * @param dest  - Destination directory (created if absent).
 * @param force - When `false` (default) a file that already exists in `dest`
 *                is SKIPPED (preserved); the destination path is collected and
 *                returned so the caller can report it to the user.
 *                When `true` every file is overwritten unconditionally
 *                (previous behaviour, used by application-scaffold copies).
 * @returns Array of absolute destination paths that were skipped.
 */
export declare function copyDirRecursive(src: string, dest: string, force?: boolean): string[];
export declare function ensureDir(baseDir: string, relativePath: string): void;
export declare function buildOptions(schema: ModuleDefinitionSchema, ctx: GenerationContext): GenerateOptions;
export declare function buildPropertyOptions(baseOptions: GenerateOptions, property: Property): GenerateOptions;
