import { CanvasTexture } from "../../../../Charting/Visuals/TextureManager/CanvasTexture";
import type { RequiredOwnProps } from "../../../../types/HelperTypes";
import { EPaletteProviderType } from "../../../../types/PaletteProviderType";
import type { Size } from "../../../../types/Size";
import type { TGradientStop } from "../../../../types/TGradientStop";
import type { TSciChart3D } from "../../../../types/TSciChart3D";
import { MeshColorPalette } from "./MeshColorPalette";
/**
 * Optional parameters passed to the constructor of a {@link SolidColorBrushPalette}
 */
export interface IGradientColorPaletteOptions {
    /**
     * The array of {@link TGradientStop | Gradient Stops} to apply with offsets from 0.0 - 1.0
     */
    gradientStops?: TGradientStop[];
}
/**
 * Provides a gradient color palette which may be applied to the {@link SurfaceMeshRenderableSeries3D.meshColorPalette}
 * property
 */
export declare class GradientColorPalette extends MeshColorPalette {
    readonly type: EPaletteProviderType;
    private gradientStopsProperty;
    /**
     * Creates an instance of the {@link GradientColorPalette}
     * @param webAssemblyContext The {@link TSciChart3D | SciChart 3D WebAssembly Context}
     * containing native methods and access to our WebGL2 Engine and WebAssembly numerical methods
     * @param options optional parameters of type {@link IGradientColorPaletteOptions} passed to the constructor
     */
    constructor(webAssemblyContext: TSciChart3D, options?: IGradientColorPaletteOptions);
    /**
     * The array of {@link TGradientStop | Gradient Stops} to apply with offsets from 0.0 - 1.0
     */
    get gradientStops(): TGradientStop[];
    /**
     * The array of {@link TGradientStop | Gradient Stops} to apply with offsets from 0.0 - 1.0
     */
    set gradientStops(gradientStops: TGradientStop[]);
    /**
     * @inheritDoc
     */
    getTexture(size: Size): CanvasTexture;
    protected getOptions(): RequiredOwnProps<IGradientColorPaletteOptions>;
}
