export interface IDrawData { mask: Path2D; data: Readonly; } export interface IDrawBarData extends IDrawData { bars: ReadonlyArray; } export interface ICanvas { ratio: number; } export interface IEventHandlers { onClick?: C; onHoverChange?: H; } export interface IHoverOptions { hoverColor: string; } export interface IParams

{ canvas: HTMLCanvasElement; drawData: ReadonlyArray>; options: Readonly; columns?: ReadonlyArray; } export interface IPoint { x: number; y: number; } export interface ISize { width: number; height: number; } export interface IPadding { sPadding: number; vPadding: number; } export interface IEdges { top: number; bottom: number; } export interface IFooterOptions { footer: number; } export declare type IGeometry = ISize & IPadding & IEdges & IFooterOptions; export interface IRowOptions { rowCount: number; rowStroke: number; rowColor: string; rowMargin: number; rowFont?: string; rowFontSize: number; rowSkeleton?: boolean; rowFontAlign: 'left' | 'right'; rowFontColor?: string; rowRenderValue?: (value: number) => string; footerColor?: string; footerMargin: number; } export interface ILineOptions { lineStroke: number; lineSmooth?: boolean; lineColor: string; lineFill: string | ReadonlyArray; pointRadius: number; } export interface IBarOptions { barColors: ReadonlyArray; barWidth: number; barMargin: number; barRadius: number; stacked?: boolean; } export declare type IDrawBarOptions = IEventHandlers & IBarOptions; export declare type IDrawLevelOptions = IEventHandlers & IRowOptions & IGeometry; export declare type IDrawLineOptions = IDrawLevelOptions & ILineOptions; export interface IHoverRenderData

{ items: ReadonlyArray>; fill: (color?: string) => string; } export interface IHoverData { data: Readonly; clientX: number; clientY: number; }