import { Canvas, CanvasGradient, CanvasPattern, CanvasTextAlign } from 'canvas'; export type * from 'canvas'; export type GenerateFunction = (content: string, config?: T) => string | Promise; export interface GenerateOptions { bgColor?: string | CanvasGradient | CanvasPattern; customHeight?: number; fontFamily?: string; fontPath?: string; fontSize?: number; fontWeight?: string | number; lineHeight?: number; margin?: number; maxWidth?: number; textAlign?: CanvasTextAlign; textColor?: string; verticalAlign?: string; extensions?: Array; } export interface GenerateOptionsAsync extends GenerateOptions { extensions?: Array; } export interface GenerateOptionsSync extends GenerateOptions { extensions?: Array; } export type SyncExtension = (canvas: Canvas, config: ComputedOptions) => Canvas; export type AsyncExtension = (canvas: Canvas, config: ComputedOptions) => Promise; export type Extension = SyncExtension | AsyncExtension; export type ComputedOptions = Required; export interface fileWriterOptions { fileName?: string; }