import type { NumberRange } from "../../../Core/NumberRange";
import type { IntVector, SCRTDoubleVector } from "../../../types/TSciChart";
import type { EDataSeriesType } from "../IDataSeries";
/**
 * The PointSeries is a set of data for drawing. This might be a reduced set depending on optimisations enabled
 */
export interface IPointSeries {
    readonly type: EDataSeriesType;
    readonly indexes: SCRTDoubleVector;
    readonly xValues: SCRTDoubleVector;
    readonly yValues: SCRTDoubleVector;
    getYValues(i?: number, undefinedIfMissing?: boolean): SCRTDoubleVector;
    getYValuesByName(name: string, undefinedIfMissing?: boolean): SCRTDoubleVector;
    readonly arrayCount: number;
    readonly count: number;
    xRange: NumberRange;
    readonly resampled: boolean;
    fifoStartIndex: number;
}
export interface IPointSeriesResampled {
    readonly intIndexes: IntVector;
    clearIntIndexes(): void;
}
export interface IXyPointSeries extends IPointSeries {
}
export interface IXyyPointSeries extends IPointSeries {
    readonly y1Values: SCRTDoubleVector;
}
export interface IXyzPointSeries extends IPointSeries {
    readonly zValues: SCRTDoubleVector;
}
export interface IHlcPointSeries extends IPointSeries {
    readonly highValues: SCRTDoubleVector;
    readonly lowValues: SCRTDoubleVector;
    readonly closeValues: SCRTDoubleVector;
}
export interface IOhlcPointSeries extends IPointSeries {
    readonly openValues: SCRTDoubleVector;
    readonly highValues: SCRTDoubleVector;
    readonly lowValues: SCRTDoubleVector;
    readonly closeValues: SCRTDoubleVector;
}
export interface IBoxPlotPointSeries extends IPointSeries {
    readonly maximumValues: SCRTDoubleVector;
    readonly upperQuartileValues: SCRTDoubleVector;
    readonly medianValues: SCRTDoubleVector;
    readonly lowerQuartileValues: SCRTDoubleVector;
    readonly minimumValues: SCRTDoubleVector;
}
