import { Options } from 'prettier';
import File from './file';
import { templateCollectionType, templateTypesType } from '../../types';
/**
 *
 */
export default class Template {
    protected fileHandler: File;
    protected prettier: Options;
    protected readonly overwrite: templateTypesType[];
    protected readonly uniquely: templateTypesType[];
    /**
     *
     * @param fileHandler
     */
    constructor(fileHandler: File, prettier?: Options);
    /**
     *
     * @param data
     */
    createIndex(data: templateCollectionType[]): Promise<void>;
    /**
     *
     * @param data
     */
    createCollections(data: templateCollectionType[]): Promise<void>;
    /**
     *
     * @param data
     */
    renderCollectionFiles(data: templateCollectionType): Promise<void>;
    /**
     *
     * @param name
     * @param data
     * @param withOverwrite
     */
    renderCollectionFile(name: templateTypesType, data: templateCollectionType, withOverwrite?: boolean): Promise<void>;
}
