UNPKG

ag-charts-community

Version:

Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue

51 lines (50 loc) 1.96 kB
import type { ChartAxisDirection, Scale } from 'ag-charts-core'; import type { AgBaseCrossLineLabelOptions, AgCrossLineLabelPosition, AgTimeInterval, AgTimeIntervalUnit } from 'ag-charts-types'; import type { PolarAxisLayout } from '../../module/axisContext'; import type { Group } from '../../scene/group'; export type CrossLineType = 'line' | 'range'; interface ICrossLine { type: CrossLineType; range?: [unknown, unknown]; value?: unknown; } export declare function getCrossLineValue(crossLine: ICrossLine): unknown; export declare function validateCrossLineValue(crossLine: ICrossLine, scale: Scale<any, number>): boolean; export interface CrossLine<LabelType = AgBaseCrossLineLabelOptions> { calculateLayout?(visible: boolean, reversedAxis?: boolean): void; calculatePadding?(padding: Partial<Record<AgCrossLineLabelPosition, number>>): void; clippedRange: [number, number]; enabled?: boolean; defaultColorRange: string[]; fill?: string; fillOpacity?: number; gridLength: number; gridPadding: number; lineGroup: Group; rangeGroup: Group; id: string; label: LabelType; labelGroup: Group; lineDash?: number[]; range?: [any, any]; scale?: Scale<any, number, number | AgTimeInterval | AgTimeIntervalUnit>; stroke?: string; strokeOpacity?: number; strokeWidth?: number; type: CrossLineType; update(visible: boolean): void; value?: any; set(properties: object): void; } export interface PolarCrossLine<LabelType = AgBaseCrossLineLabelOptions> extends CrossLine<LabelType> { direction: ChartAxisDirection; parallelFlipRotation: number; regularFlipRotation: number; sideFlag: 1 | -1; /** * Applies polar-axis layout state (radius/inner-radius/shape/ticks/gridAngles) to the * cross-line. The plugin calls this once per update phase on polar axes. */ applyPolarLayout(layout: PolarAxisLayout): void; } export {};