import type { TPointMarkerDefinition3D } from "../../../Builder/types/SeriesDefinitions";
import type { TSciChart3D, TSRIndexedMesh } from "../../../types/TSciChart3D";
import type { IBasePointMarker3DOptions } from "./BasePointMarker3D";
import { BasePointMarker3D, EMarkerType } from "./BasePointMarker3D";
/**
 * A {@link BaseMeshPointMarker3D} is a type of {@link BasePointMarker3D | 3D Point Marker} which renders
 * a 3-Dimensional object at each point. Useful for high quality 3D Scatter and Bubble charts.
 * @remarks See derived types of {@link BaseMeshPointMarker3D} for available mesh point-markers
 */
export declare abstract class BaseMeshPointMarker3D extends BasePointMarker3D {
    /**
     * Creates an instance of {@link BaseMeshPointMarker3D}
     * @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 IBasePointMarker3DOptions} used to configure the point-marker
     * @protected
     */
    protected constructor(webAssemblyContext: TSciChart3D, options?: IBasePointMarker3DOptions);
    /**
     * Defines the MarkerType, e.g. pixel point marker, Mesh (3d object) or textured-quad
     */
    get markerType(): EMarkerType;
    /**
     * Returns the TSRIndexedMesh instance which defines the 3D geometry to draw at each location or point
     */
    abstract get pointsMesh(): TSRIndexedMesh;
    toJSON(): TPointMarkerDefinition3D;
}
