import { IExportFileType, IExportImageType } from '../file/IFileType' export type ICanvasType = 'skia' | 'napi' | 'canvas' | 'miniapp' // skia export interface ISkiaCanvas { toBuffer(format: IExportFileType, config: ISkiaCanvasExportConfig): Promise toBufferSync(format: IExportFileType, config: ISkiaCanvasExportConfig): any toDataURL(mime?: 'image/png'): string toDataURL(mime: 'image/jpeg' | 'image/webp' | string, quality?: number): string toDataURLSync(format: IExportImageType, config: ISkiaCanvasExportConfig): string toURLSync(format: IExportImageType, config: ISkiaCanvasExportConfig): string saveAs(filename: string, config: ISkiaCanvasExportConfig): Promise saveAsSync(filename: string, config: ISkiaCanvasExportConfig): void } export interface ISkiaCanvasExportConfig { page?: number, matte?: string, density?: number, quality?: number, outline?: boolean } // skia-napi export interface ISkiaNAPICanvas { encodeSync(format: 'webp' | 'jpeg', quality?: number): any encodeSync(format: 'png'): any encode(format: 'webp' | 'jpeg' | string, quality?: number): Promise encode(format: 'png'): Promise toBuffer(mime: 'image/png'): any toBuffer(mime: 'image/jpeg' | 'image/webp' | string, quality?: number): any toDataURL(mime?: 'image/png'): string toDataURL(mime: 'image/jpeg' | 'image/webp' | string, quality?: number): string toDataURLAsync(mime?: 'image/png'): Promise toDataURLAsync(mime: 'image/jpeg' | 'image/webp' | string, quality?: number): Promise }