import type { TemplateContentV3, PredyResizeTemplate } from '@predy-js/specification'; export declare function renderImageTemplate(resizeTemplate: PredyResizeTemplate, variables: Record, inCanvas?: HTMLCanvasElement, activeBorderIndex?: number, scaleFactor?: number): HTMLCanvasElement; export declare function getResizedImageTemplateAsync(backgroundImage: any, template: TemplateContentV3, variables: Record): Promise; interface CombineImageTemplateOptions { templateScale?: number; canvas?: HTMLCanvasElement; activeName?: string; activeBorderIndex?: number; } export declare function _combineImageTemplate3Async(template: PredyResizeTemplate, variables?: Record, opt?: CombineImageTemplateOptions): Promise; export declare function combineImageTemplate3Async(rawUrl: string | HTMLImageElement | ImageBitmap | Blob, jsonTemplate: TemplateContentV3, variables?: Record, opt?: CombineImageTemplateOptions): Promise; export declare function calculateTextWidthWithSpacing(context: CanvasRenderingContext2D, text: string, letterSpacing: number): number; export declare function calculateTextBoundingHeight(context: CanvasRenderingContext2D, text: string, fontSize: number): { height: number; offset: number; ascent?: undefined; } | { height: number; offset: number; ascent: number; }; export {};