import type { NumberArray } from "../../types/NumberArray";
import type { TSciChart } from "../../types/TSciChart";
import type { ExtremeResamplerHelper } from "../Numerics/Resamplers/ExtremeResamplerHelper";
import { EResamplingMode } from "../Numerics/Resamplers/ResamplingMode";
import type { ResamplingParams } from "../Numerics/Resamplers/ResamplingParams";
import type { IBaseDataSeriesOptions } from "./BaseDataSeries";
import { BaseDataSeries } from "./BaseDataSeries";
import type { EDataChangeType } from "./IDataSeries";
import { EDataSeriesType } from "./IDataSeries";
import type { IPointSeries } from "./PointSeries/IPointSeries";
/**
 * Options to pass to the {@link XyDataSeries} constructor
 */
export interface IXyNDataSeriesOptions extends IBaseDataSeriesOptions {
    /**
     * The X-values array to pre-populate the {@link XyNDataSeries}
     */
    xValues?: NumberArray;
    /**
     * The Array of Y-values arrays to pre-populate the {@link XyNDataSeries}.  You must supply this or arrayCount
     */
    yValuesArray?: NumberArray[];
    resamplingModes?: EResamplingMode[];
}
/**
 * XyNDataSeries is a DataSeries for holding X, and an arbitrary number of sets of Y values in SciChart's 2D
 * {@link https://www.scichart.com/javascript-chart-features | JavaScript Charts}
 * @remarks
 *
 * A DataSeries stores the data to render. This is independent from the {@link IRenderableSeries | RenderableSeries}
 * which defines how that data should be rendered.
 *
 * See derived types of {@link BaseDataSeries} to find out what data-series are available.
 * See derived types of {@link IRenderableSeries} to find out what 2D JavaScript Chart types are available.
 *
 * ---
 * 📚 Docs: {@link https://www.scichart.com/documentation/js/v4/2d-charts/chart-types/data-series-api/data-series-api-overview/}
 */
export declare class XyNDataSeries extends BaseDataSeries {
    /** @inheritDoc */
    readonly type: EDataSeriesType;
    protected resamplingModes: EResamplingMode[];
    /**
     * Creates an instance of {@link XyNDataSeries}
     * @param webAssemblyContext the {@link TSciChart | SciChart WebAssembly Context} containing native methods
     * and access to our underlying WebGL2 rendering engine
     * @param options the {@link IXyNDataSeriesOptions} which can be passed to configure the DataSeries at construct time
     *
     * ---
     * 📚 Docs: {@link https://www.scichart.com/documentation/js/v4/2d-charts/chart-types/data-series-api/data-series-api-overview/}
     */
    constructor(webAssemblyContext: TSciChart, options: IXyNDataSeriesOptions);
    private pointSeries;
    private resamplingParams;
    notifyDataChanged(changeType: EDataChangeType, index: number, count: number, name?: string): void;
    toPointSeries(rp?: ResamplingParams, _pointSeries?: IPointSeries, resamplerHelper?: ExtremeResamplerHelper): IPointSeries;
    /** @inheritDoc */
    protected getOptions(excludeData?: boolean): IXyNDataSeriesOptions;
}
