import type { CustomTemplate, TemplateStyles, InvoiceData } from "../core/types";
export declare class TemplateBuilder {
    private template;
    constructor(id: string, name: string);
    setDescription(description: string): TemplateBuilder;
    setHeader(content: string | ((data: any) => string), styles?: TemplateStyles): TemplateBuilder;
    setBody(content: string | ((data: any) => string), styles?: TemplateStyles): TemplateBuilder;
    setFooter(content: string | ((data: any) => string), styles?: TemplateStyles): TemplateBuilder;
    setGlobalStyles(styles: TemplateStyles): TemplateBuilder;
    setSupportedFeatures(features: {
        logo?: boolean;
        brandColor?: boolean;
        rtl?: boolean;
        extraSections?: boolean;
    }): TemplateBuilder;
    build(): CustomTemplate;
}
export declare function createTemplate(id: string, name: string): TemplateBuilder;
export declare function renderTemplate(template: CustomTemplate, invoice: InvoiceData, options?: any): any;
export declare const modernTemplate: CustomTemplate;
export declare const minimalTemplate: CustomTemplate;
export declare const creativeTemplate: CustomTemplate;
export declare const availableTemplates: CustomTemplate[];
export declare function getTemplateById(id: string): CustomTemplate | undefined;
export declare function getAllTemplates(): CustomTemplate[];
