///
import type { PathLike } from 'fs';
import type { FileHandle } from 'fs/promises';
import type { ChartConfiguration } from 'chart.js';
interface PostData {
chart: string;
width?: number;
height?: number;
format?: string;
version?: string;
backgroundColor?: string;
devicePixelRatio?: number;
key?: string;
}
interface GradientFillOption {
offset: number;
color: string;
}
interface GradientDimensionOption {
width?: number;
height?: number;
}
declare class QuickChart {
private host;
private scheme;
private width;
private height;
private devicePixelRatio;
private backgroundColor;
private format;
private version;
private chart?;
private apiKey?;
private accountId?;
constructor(apiKey?: string, accountId?: string);
setConfig(chartConfig: string | ChartConfiguration): QuickChart;
setHost(host: string): QuickChart;
setScheme(scheme: string): QuickChart;
setWidth(width: number): QuickChart;
setHeight(height: number): QuickChart;
setBackgroundColor(color: string): QuickChart;
setDevicePixelRatio(ratio: number): QuickChart;
setFormat(fmt: string): QuickChart;
setVersion(version: string): QuickChart;
isValid(): boolean;
private getBaseUrl;
private getUrlObject;
getUrl(): string;
getSignedUrl(): string;
getPostData(): PostData;
getShortUrl(): Promise;
toBinary(): Promise;
toDataUrl(): Promise;
toFile(pathOrDescriptor: PathLike | FileHandle): Promise;
static getGradientFillHelper(direction: string, colors: string[], dimensions?: GradientDimensionOption): string;
static getGradientFill(colorOptions: GradientFillOption[], linearGradient: [number, number, number, number]): string;
static getImageFill(url: string): string;
static pattern: {
draw: (shapeType: string, backgroundColor: string, patternColor: string, requestedSize: number) => string;
};
}
export default QuickChart;