import type { EDefaultRenderLayer } from "./DefaultRenderLayer";
export interface IOrderedRenderable {
    id: string;
    isVisible: boolean;
    /**
     * Allows a series to be treated as if it was drawn on a surface with a different draw order than its actual parent surface
     * Until the chart is rendered, the get method will only return a value if one has been explicitly set.
     */
    getSurfaceRenderOrder: () => number;
    getRenderLayer: () => number;
    /**
     * An explicit position for this item to render within the layer.  By default, items will render in the order they were added to the collection.
     * Items with a renderOrder set will be inserted at the desired position.
     */
    getRenderOrder: () => number;
    setRenderOrder: (order: number) => void;
    setRenderNextTo: (renderable: IOrderedRenderable | string, offset: number) => void;
    getRenderNextTo: () => {
        renderable: IOrderedRenderable | string;
        offset: number;
    } | undefined;
}
export declare class OrderedRenderable implements IOrderedRenderable {
    readonly id: string;
    isVisible: boolean;
    surfaceRenderOrder: number;
    renderLayer: EDefaultRenderLayer | number;
    renderOrder: number;
    constructor(surfaceRenderOrder: number, renderLayer: EDefaultRenderLayer | number, renderOrder: number);
    getSurfaceRenderOrder(): number;
    getRenderLayer(): number;
    getRenderOrder(): number;
    setRenderOrder(order: number): void;
    setRenderNextTo: (renderable: IOrderedRenderable | string, offset: number) => void;
    getRenderNextTo: () => {
        renderable: IOrderedRenderable;
        offset: number;
    } | undefined;
}
