invoice-craft
Version:
Customizable, browser-first invoice PDF generator library with modern TypeScript API
26 lines (25 loc) • 1.36 kB
TypeScript
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[];