import { EAxisPlaneDrawLabelsMode } from "../../types/AxisPlaneDrawLabelsMode";
import { EAxisPlaneVisibilityMode } from "../../types/AxisPlaneVisibilityMode";
import { SciChart3DSurface } from "./SciChart3DSurface";
export declare enum EAxisPlaneType {
    XY = "xyAxisPlane",
    ZX = "zxAxisPlane",
    ZY = "zyAxisPlane"
}
export interface IAxisPlaneOptions {
    drawLabelsMode?: EAxisPlaneDrawLabelsMode;
    drawTitlesMode?: EAxisPlaneDrawLabelsMode;
    visibilityMode?: EAxisPlaneVisibilityMode;
    isVisible?: boolean;
}
/**
 * Interface for Axis3DPlane public API
 */
export interface IAxisPlane {
    /**
     * Gets / sets the draw labels mode for the axis plane
     */
    drawLabelsMode: EAxisPlaneDrawLabelsMode;
    /**
     * Gets / sets the draw titles mode for the axis plane
     */
    drawTitlesMode: EAxisPlaneDrawLabelsMode;
    /**
     * Gets / sets the visibility mode for the axis plane
     */
    visibilityMode: EAxisPlaneVisibilityMode;
    /**
     * Gets / sets whether the axis plane is visible
     */
    isVisible: boolean;
}
export declare class AxisPlane implements IAxisPlane {
    private parentSurface;
    private planeType;
    private drawLabelsModeProperty;
    private drawTitlesModeProperty;
    private visibilityModeProperty;
    private isVisibleProperty;
    constructor(parentSurface: SciChart3DSurface, planeType: EAxisPlaneType, options: IAxisPlaneOptions);
    protected notifyPropertyChanged(propertyName: string): void;
    /**
     * Gets / sets the draw labels mode for the XY axis plane
     */
    get drawLabelsMode(): EAxisPlaneDrawLabelsMode;
    set drawLabelsMode(value: EAxisPlaneDrawLabelsMode);
    /**
     * Gets / sets the draw titles mode for the axis plane
     */
    get drawTitlesMode(): EAxisPlaneDrawLabelsMode;
    set drawTitlesMode(value: EAxisPlaneDrawLabelsMode);
    /**
     * Gets / sets the visibility mode for the axis plane
     */
    get visibilityMode(): EAxisPlaneVisibilityMode;
    set visibilityMode(value: EAxisPlaneVisibilityMode);
    get isVisible(): boolean;
    set isVisible(value: boolean);
    toJSON(): {
        drawLabelsMode: EAxisPlaneDrawLabelsMode;
        drawTitlesMode: EAxisPlaneDrawLabelsMode;
        visibilityMode: EAxisPlaneVisibilityMode;
        isVisible: boolean;
    };
}
