import type { Logger } from '#src/utils/index.js';
import type { GeneratorOutputFormatter } from '../formatter.js';
import type { FileData } from '../generator-task-output.js';
import type { GeneratorFileOperationResult, GeneratorOutputFileWriterContext } from './types.js';
/**
 * Format the contents of a file
 *
 * @param relativePath - Relative path of the file
 * @param data - File data
 * @param context - Context
 * @param context.outputDirectory - Output directory
 * @param context.formatters - Formatters to use
 * @param context.logger - Logger to use
 * @returns Formatted contents of the file
 */
export declare function formatOutputFileContents(relativePath: string, data: FileData, { outputDirectory, formatters, logger, }: {
    outputDirectory: string;
    formatters: GeneratorOutputFormatter[];
    logger: Logger;
}): Promise<Buffer | string>;
/**
 * Input for the prepareGeneratorFile function
 */
interface PrepareGeneratorFileInput {
    /**
     * Relative path of the file
     */
    relativePath: string;
    /**
     * File data
     */
    data: FileData;
    /**
     * Generator output file writer context
     */
    context: GeneratorOutputFileWriterContext;
}
/**
 * Prepare a file for writing
 *
 * @param input - Prepare generator file input
 * @returns Prepare generator file result
 */
export declare function prepareGeneratorFile({ relativePath, data, context, }: PrepareGeneratorFileInput): Promise<GeneratorFileOperationResult>;
export {};
//# sourceMappingURL=prepare-generator-file.d.ts.map