import { ChartBase } from '../base/chart.base'; import { ChartPoint, DateRange } from '../entities/chart-entities'; import { Option } from '@suntech-innovation/option'; import { MarketStatus } from '../../../entities'; export declare function getLineDates(line: ChartPoint[]): number[]; export declare class ChartHelper { static findClosesDatePoints(line: ChartPoint[], range: DateRange): DateRange; static findClosestIndex(line: number[], input: number): number; static filterLineForDateRange(line: ChartPoint[], { from, to }: DateRange): ChartPoint[]; static isEqual(i: T, j: T): boolean; static preventSameDate({ from, to }: DateRange, padding?: number): DateRange; static setPaddingsForPrice({ from, to }: Partial): DateRange; static compactStatuses(prices: ChartPoint[], output?: any[]): ChartPoint[]; static findRangeByStatus(line: ChartPoint[], status: MarketStatus): ChartPoint[][]; /** * returns value from 0 to 1 as percent of a position */ static getPosition(value: number, { from, to }: DateRange, convert?: (i: number) => number): Option; static shortNumber(n: number): string; } export declare class ChartPainter extends ChartBase { get nativeElement(): HTMLElement; render(args?: any): void; drawCircle(x: number, y: number, radius: number): void; drawTriangle(x: number, y: number, size: number): void; drawPlus(x: number, y: number, size: number): void; drawStar(cx: any, cy: any, spikes: any, outerRadius: any, innerRadius: any): void; }