import type { BlueprintTemplate } from "../../blueprint/Blueprint/Blueprint";
/**
 * An object describing a template, having a name, and originating from specified provider
 */
export interface TemplateDescriptor<TTemplatesProviderType extends string = string> {
    type: TTemplatesProviderType;
    name: string;
}
/**
 * Metadata of a template
 */
export interface TemplateMetadata {
    /**
   * Template's description
   */
    description: string;
    /**
   * An array of included files from the template's content
   *
   * A missing or empty list means all files are included
   */
    includes?: string[];
    /**
   * An array of files that are excluded
   */
    excludes?: string[];
    /**
   * List of blueprints to initialize projects with
   */
    blueprints: [BlueprintTemplate];
}
