import type { SCRTDoubleVector, TSciChart } from "../../../../../types/TSciChart";
import type { WebGlRenderContext2D } from "../../../../Drawing/WebGlRenderContext2D";
import type { IPointSeries } from "../../../../Model/PointSeries/IPointSeries";
import type { RenderPassData } from "../../../../Services/RenderPassData";
import type { ISCRTBrush } from "../../DrawingProviders/BaseSeriesDrawingProvider";
import { BaseSeriesDrawingProvider } from "../../DrawingProviders/BaseSeriesDrawingProvider";
import type { IPolarBandRenderableSeries } from "../PolarBandRenderableSeries";
/**
 * Used internally - a drawing provider performs drawing for a {@link FastBandRenderableSeries} using
 * our WebAssembly WebGL rendering engine
 */
export declare class PolarBandSeriesDrawingProvider extends BaseSeriesDrawingProvider<IPolarBandRenderableSeries> {
    private nativeDrawingProvider;
    private fillBrushCache;
    private fillBrushY1Cache;
    private neutralColorSCRTBrush;
    private y1Selector;
    private args;
    /**
     * Creates an instance of the {@link BandSeriesDrawingProvider}
     * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
     * access to our WebGL2 Engine and WebAssembly numerical methods
     * @param parentSeries the parent {@link BaseBandRenderableSeries} which this drawing provider is attached to
     */
    constructor(webAssemblyContext: TSciChart, parentSeries: IPolarBandRenderableSeries, ySelector?: (ps: IPointSeries) => SCRTDoubleVector, y1Selector?: (ps: IPointSeries) => SCRTDoubleVector);
    /**
     * @inheritDoc
     */
    onAttachSeries(): void;
    /**
     * @inheritDoc
     */
    onDetachSeries(): void;
    /**
     * @inheritDoc
     */
    delete(): void;
    /**
     * @inheritDoc
     */
    draw(renderContext: WebGlRenderContext2D, renderPassData: RenderPassData): void;
    applyFillFillPaletting(fill: string, fillBrush: ISCRTBrush | undefined, filly1: string, fillBrushy1: ISCRTBrush | undefined, opacity: number, startIndex: number, drawCount: number, pointSeries: IPointSeries, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector): void;
    /**
     * @inheritDoc
     */
    onSeriesPropertyChange(propertyName: string): void;
}
