@neabyte/chart-to-image
Version:
Convert trading charts to images using Node.js canvas with advanced features: 6 chart types, VWAP/EMA/SMA indicators, custom colors, themes, hide elements, scaling, and PNG/JPEG export formats.
99 lines (98 loc) • 3.33 kB
TypeScript
import type { CanvasRenderingContext2D } from 'canvas';
import type { ChartDimensions, PriceRange, WatermarkConfig } from '../renderer/types.js';
import type { ChartOptions, HorizontalLevel } from '../types/types.js';
interface ChartOHLC {
time: number;
open: number;
high: number;
low: number;
close: number;
volume?: number;
}
export declare class AxesRenderer {
private ctx;
private dimensions;
private priceRange;
private config;
constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, priceRange: PriceRange, config: ChartOptions);
render(ohlc: ChartOHLC[]): void;
private drawPriceLabels;
private drawTimeLabels;
}
export declare class GridRenderer {
private ctx;
private dimensions;
private config;
constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, config: ChartOptions);
render(): void;
}
export declare class VolumeRenderer {
private ctx;
private dimensions;
private config;
constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, config: ChartOptions);
render(ohlc: ChartOHLC[]): void;
}
export declare class VWAPRenderer {
private ctx;
private dimensions;
private priceRange;
private config;
constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, priceRange: PriceRange, config: ChartOptions);
private calculateVWAP;
render(ohlc: ChartOHLC[]): void;
}
export declare class EMARenderer {
private ctx;
private dimensions;
private priceRange;
private config;
private period;
constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, priceRange: PriceRange, config: ChartOptions, period: number);
private calculateEMA;
render(ohlc: ChartOHLC[]): void;
}
export declare class SMARenderer {
private ctx;
private dimensions;
private priceRange;
private config;
private period;
constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, priceRange: PriceRange, config: ChartOptions, period: number);
private calculateSMA;
render(ohlc: ChartOHLC[]): void;
}
export declare class BollingerBandsRenderer {
private ctx;
private dimensions;
private priceRange;
private config;
private period;
private standardDeviations;
constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, priceRange: PriceRange, config: ChartOptions, period: number, standardDeviations?: number);
private calculateBollingerBands;
renderBackground(ohlc: ChartOHLC[]): void;
renderLines(ohlc: ChartOHLC[]): void;
}
export declare class LevelsRenderer {
private ctx;
private dimensions;
private priceRange;
constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, priceRange: PriceRange);
render(levels: HorizontalLevel[]): void;
}
export declare class TitleRenderer {
private ctx;
private width;
private config;
constructor(ctx: CanvasRenderingContext2D, width: number, config: ChartOptions);
render(title: string): void;
}
export declare class WatermarkRenderer {
private ctx;
private width;
private height;
constructor(ctx: CanvasRenderingContext2D, width: number, height: number);
render(watermark: string | WatermarkConfig): void;
}
export {};