import { TSciChart } from "../../../../types/TSciChart";
import { CoordinateCalculatorBase } from "../../../Numerics/CoordinateCalculators/CoordinateCalculatorBase";
import { ESeriesType } from "../../../../types/SeriesType";
import { IHitTestProvider } from "../HitTest/IHitTestProvider";
import { IBaseRenderableSeriesOptions } from "../IBaseRenderableSeriesOptions";
import { EColumnMode, EColumnYMode } from "../../../../types/ColumnMode";
import { EDataPointWidthMode } from "../../../../types/DataPointWidthMode";
import { IPolarColumnSeriesDataLabelProviderOptions } from "./DataLabels/PolarColumnSeriesDataLabelProvider";
import { FastRectangleRenderableSeries, IRectangleRenderableSeries, IFastRectangleRenderableSeriesOptions } from "../FastRectangleRenderableSeries";
/**
 * Options to pass to the {@link PolarColumnRenderableSeries} constructor
 */
export interface IPolarColumnRenderableSeriesOptions extends IFastRectangleRenderableSeriesOptions {
    /**
     * This determines how x values and optional x1 values are interpreted for Polar chart. Available values are {@link EColumnMode}. Default Mid.
     */
    columnXMode?: EColumnMode;
    /**
     * Not supported property for PolarColumnRenderableSeries
     */
    columnYMode?: EColumnYMode;
    /** @inheritDoc */
    dataLabels?: IPolarColumnSeriesDataLabelProviderOptions;
    /**
     * Sets zero line. Default 0
     */
    defaultY1?: number;
    /**
     * Not supported property for PolarColumnRenderableSeries
     */
    topCornerRadius?: number;
    /**
     * Not supported property for PolarColumnRenderableSeries
     */
    bottomCornerRadius?: number;
}
/**
 * Defines a JavaScript Polar Column-series chart type in the SciChart's High Performance Real-time
 * {@link https://www.scichart.com/javascript-chart-features | JavaScript Charts}
 * @remarks
 * To add a polar column series to a {@link SciChartPolarSurface} you need to declare both the {@link PolarColumnRenderableSeries | RenderableSeries}
 * and a {@link XyDataSeries | DataSeries}. Simplified code sample below:
 *
 * ```ts
 * const { sciChartSurface, wasmContext } = SciChartPolarSurface.create(rootId);
 *
 * // Create the renderableSeries
 * const polarColumnSeries = new PolarColumnRenderableSeries(wasmContext, {
 *    dataSeries: XyDataSeries(wasmContext, {
 *       xValues: [0, 1, 2, 3],
 *       yValues: [10, 20, 30, 40],
 *    }),
 *    stroke: "blue",
 * });
 *
 * // append to the SciChartSurface
 * sciChartPolarSurface.renderableSeries.add(polarColumnSeries);
 * ```
 *
 * ---
 * 📚 Docs: {@link https://www.scichart.com/documentation/js/v4/2d-charts/chart-types/polar-column-renderable-series/}
 */
export declare class PolarColumnRenderableSeries extends FastRectangleRenderableSeries implements IRectangleRenderableSeries {
    /** @inheritDoc */
    readonly type: ESeriesType;
    readonly isPolar: boolean;
    /**
     * Creates an instance of the {@link PolarColumnRenderableSeries}
     * @param webAssemblyContext The {@link TSciChart | SciChart WebAssembly Context} containing
     * native methods and access to our WebGL2 WebAssembly Drawing Engine
     * @param options optional parameters of type {@link IPolarColumnRenderableSeriesOptions} applied when constructing the series type
     *
     * ---
     * 📚 Docs: {@link https://www.scichart.com/documentation/js/v4/2d-charts/chart-types/polar-column-renderable-series/}
     */
    constructor(webAssemblyContext: TSciChart, options?: IPolarColumnRenderableSeriesOptions);
    /**
     * Gets or Sets zero line. Default 0
     */
    get defaultY1(): number;
    set defaultY1(value: number);
    /** @inheritDoc */
    protected addDrawingProviders(webAssemblyContext: TSciChart, options?: IBaseRenderableSeriesOptions): void;
    /** @inheritDoc */
    toJSON(excludeData?: boolean): import("../../../..").TSeriesDefinition;
    /** @inheritDoc */
    getDataPointWidth(xCoordCalc: CoordinateCalculatorBase, widthFraction: number, widthMode?: EDataPointWidthMode): number;
    /** @inheritDoc */
    get columnYMode(): EColumnYMode;
    /**
     * Setting columnYMode is not supported for PolarColumnRenderableSeries
     */
    set columnYMode(value: EColumnYMode);
    /** @inheritDoc */
    protected newHitTestProvider(): IHitTestProvider;
}
