import { type CreateXYAxisSeriesOptions, type DataPoint, DataVector, type IColorAxis, type IRenderContext, LineJoin, LineStyle, type OxyColor, type ScreenPoint, TrackerHitResult, type TrackerStringFormatterArgs, XYAxisSeries } from '..'; /** Represents an item in a VectorSeries. */ export interface VectorItem { /** The origin of the vector. */ readonly origin: DataPoint; /** The direction of the vector. */ readonly direction: DataVector; /** The value of the item. */ readonly value: number; } export interface CreateVectorSeriesOptions extends CreateXYAxisSeriesOptions { /** The color of the arrow. */ color?: OxyColor; /** The length of the arrows heads (relative to the stroke thickness) (the default value is 10). */ arrowHeadLength?: number; /** The width of the arrows heads (relative to the stroke thickness) (the default value is 3). */ arrowHeadWidth?: number; /** The position of the arrow heads (relative to the end of the vector) (the default value is 1). */ arrowHeadPosition?: number; /** The line join type. */ lineJoin?: LineJoin; /** The line style. */ lineStyle?: LineStyle; /** The stroke thickness (the default value is 2). */ strokeThickness?: number; /** * The minimum length of an interpolated line segment. * Increasing this number will increase performance, * but make the curve less accurate. The default is 2. */ minimumSegmentLength?: number; /** The 'veeness' of the arrow head (relative to thickness) (the default value is 0). */ arrowVeeness?: number; /** The start position of the arrows for each vector relative to the length of the vector (the default value is 0). */ arrowStartPosition?: number; /** The positions of the label for each vector along the drawn arrow (the default value is 0). */ arrowLabelPosition?: number; /** The formatter for the cell labels. The default value is 0.00. */ labelStringFormatter?: (item: VectorItem) => string; /** The font size of the labels. The default value is 0 (labels not visible). */ labelFontSize?: number; /** The delegate used to map from ItemsSeries.ItemsSource to VectorItem. The default is null. */ mapping?: (item: any) => VectorItem; /** The list of Vectors. */ items?: VectorItem[]; } export declare const DefaultVectorSeriesOptions: CreateVectorSeriesOptions; export declare const ExtendedDefaultVectorSeriesOptions: { /** The color of the arrow. */ color?: string | undefined; /** The length of the arrows heads (relative to the stroke thickness) (the default value is 10). */ arrowHeadLength?: number | undefined; /** The width of the arrows heads (relative to the stroke thickness) (the default value is 3). */ arrowHeadWidth?: number | undefined; /** The position of the arrow heads (relative to the end of the vector) (the default value is 1). */ arrowHeadPosition?: number | undefined; /** The line join type. */ lineJoin?: LineJoin | undefined; /** The line style. */ lineStyle?: LineStyle | undefined; /** The stroke thickness (the default value is 2). */ strokeThickness?: number | undefined; /** * The minimum length of an interpolated line segment. * Increasing this number will increase performance, * but make the curve less accurate. The default is 2. */ minimumSegmentLength?: number | undefined; /** The 'veeness' of the arrow head (relative to thickness) (the default value is 0). */ arrowVeeness?: number | undefined; /** The start position of the arrows for each vector relative to the length of the vector (the default value is 0). */ arrowStartPosition?: number | undefined; /** The positions of the label for each vector along the drawn arrow (the default value is 0). */ arrowLabelPosition?: number | undefined; /** The formatter for the cell labels. The default value is 0.00. */ labelStringFormatter?: ((item: VectorItem) => string) | undefined; /** The font size of the labels. The default value is 0 (labels not visible). */ labelFontSize?: number | undefined; /** The delegate used to map from ItemsSeries.ItemsSource to VectorItem. The default is null. */ mapping?: ((item: any) => VectorItem) | undefined; /** The list of Vectors. */ items?: VectorItem[] | undefined; xAxisKey?: string | undefined; yAxisKey?: string | undefined; itemsSource?: any[] | undefined; background?: string | undefined; isVisible?: boolean | undefined; title?: string | undefined; legendKey?: string | undefined; seriesGroupName?: string | undefined; renderInLegend?: boolean | undefined; trackerStringFormatter?: import('..').TrackerStringFormatterType | undefined; trackerKey?: string | undefined; font?: string | undefined; fontSize?: number | undefined; fontWeight?: number | undefined; tag?: any; textColor?: string | undefined; edgeRenderingMode?: import('..').EdgeRenderingMode | undefined; toolTip?: string | undefined; selectable?: boolean | undefined; selectionMode?: import('..').SelectionMode | undefined; DefaultXYAxisSeriesOptions: CreateXYAxisSeriesOptions; }; export interface VectorSeriesTrackerStringFormatterArgs extends TrackerStringFormatterArgs { item?: VectorItem; itemDirection?: DataVector; } export type VectorSeriesTrackerStringFormatterType = (args: VectorSeriesTrackerStringFormatterArgs) => string | undefined; /** Represents a series that can be bound to a collection of VectorItem. */ export declare class VectorSeries extends XYAxisSeries { /** The items originating from the items source. */ private _actualItems?; /** The default color. */ private _defaultColor; /** The default line style. */ private _defaultLineStyle; /** The default tracker formatter */ static readonly DefaultTrackerStringFormatter: VectorSeriesTrackerStringFormatterType; /** The default color-axis title */ private static readonly DefaultColorAxisTitle; constructor(opt?: CreateVectorSeriesOptions); getElementName(): string; /** Gets or sets the color of the arrow. */ color: OxyColor; /** Gets the minimum value of the dataset. */ private _minValue; get minValue(): number; /** Gets the maximum value of the dataset. */ private _maxValue; get maxValue(): number; /** Gets or sets the length of the arrows heads (relative to the stroke thickness) (the default value is 10). */ arrowHeadLength: number; /** Gets or sets the width of the arrows heads (relative to the stroke thickness) (the default value is 3). */ arrowHeadWidth: number; /** Gets or sets the position of the arrow heads (relative to the end of the vector) (the default value is 1). */ arrowHeadPosition: number; /** Gets or sets the line join type. */ lineJoin: LineJoin; /** Gets or sets the line style. */ lineStyle: LineStyle; /** Gets or sets the stroke thickness (the default value is 2). */ strokeThickness: number; get actualLineStyle(): LineStyle; /** * Gets or sets the minimum length of an interpolated line segment. * Increasing this number will increase performance, * but make the curve less accurate. The default is 2. */ minimumSegmentLength: number; /** Gets or sets the 'veeness' of the arrow head (relative to thickness) (the default value is 0). */ arrowVeeness: number; /** Gets the start position of the arrows for each vector relative to the length of the vector (the default value is 0). */ arrowStartPosition: number; /** Gets the positions of the label for each vector along the drawn arrow (the default value is 0). */ arrowLabelPosition: number; /** * Gets the color axis. */ get colorAxis(): IColorAxis | undefined; protected set colorAxis(value: IColorAxis | undefined); private _colorAxis?; /** Gets or sets the color axis key. */ colorAxisKey?: string; /** Gets or sets the formatter for the cell labels. The default value is 0.00. */ labelStringFormatter?: (item: VectorItem) => string; /** * A format function used for the tracker. The default depends on the series. * The arguments for the formatter may be different for each type of series. See the documentation. */ trackerStringFormatter?: VectorSeriesTrackerStringFormatterType; /** Gets or sets the font size of the labels. The default value is 0 (labels not visible). */ labelFontSize: number; /** Gets or sets a value indicating whether the tracker can interpolate points. */ canTrackerInterpolatePoints: boolean; /** Gets or sets the delegate used to map from ItemsSeries.ItemsSource to VectorItem. The default is null. */ mapping?: (item: any) => VectorItem; /** Gets the list of Vectors. */ items: VectorItem[]; /** Gets the list of Vectors that should be rendered. */ protected get ActualItems(): VectorItem[]; /** Renders the series on the specified rendering context. */ render(rc: IRenderContext): Promise; /** * Updates the data. * @internal */ updateData(): void; /** Clears or creates the actualItems list. */ private clearActualItems; /** Updates the points from the ItemsSeries.ItemsSource. */ private updateActualItems; /** Renders the points as line, broken line and markers. */ protected renderVectors(rc: IRenderContext, items: VectorItem[]): Promise; private drawVector; private drawArrow; getNearestPoint(point: ScreenPoint, interpolate: boolean): TrackerHitResult | undefined; /** * Ensures that the axes of the series is defined. * @internal */ ensureAxes(): void; /** * Sets default values from the plot model. * @internal */ setDefaultValues(): void; /** * Updates the maximum and minimum values of the series for the x and y dimensions only. * @internal */ updateMaxMinXY(): void; /** * Updates the maximum and minimum values of the series. * @internal */ updateMaxMin(): void; /** * Updates the axes to include the max and min of this series. * @internal */ updateAxisMaxMin(): void; protected getElementDefaultValues(): any; } //# sourceMappingURL=VectorSeries.d.ts.map