import { MarkupEntity, MarkupEntityConstructorArgs } from './MarkupEntity';
import { MarkupSheet2D } from './MarkupSheet2D';
import { Vertex3 } from '../../math';
import { Color4 } from '../../loader/babylonjs-import';
import { MarkupStyle } from '../MarkupEntityTypes';
import { MergableObjectEventArgs } from '../../MergableSet';
/**
 * Style for the markup arrow.
 */
export interface MarkupArrowStyle {
    /** Background color for the markup arrow */
    backgroundColor: Color4;
}
/**
 * Class representing a markup arrow in the markup API.
 */
export declare class MarkupArrow extends MarkupEntity implements MarkupStyle<MarkupArrowStyle> {
    arrowPoint: Vertex3;
    bluntPoint: Vertex3;
    lineThickness: number;
    arrowWidth: number;
    arrowHeight: number;
    style: {
        backgroundColor: Color4;
    };
    /**
     * Do not use. Use {@link MarkupSheet2D.add} instead.
     * @hidden
     */
    constructor({ id, sheet, properties, arrowPoint, bluntPoint, lineThickness, arrowWidth, arrowHeight, style }: MarkupEntityConstructorArgs & {
        arrowPoint: Vertex3;
        bluntPoint: Vertex3;
        lineThickness: number;
        arrowWidth: number;
        arrowHeight: number;
        style: MarkupArrowStyle;
    });
    /**
     * Copy the arrow to another markup sheet.
     * @param sheet Markup sheet to copy the arrow to.
     * @returns The new markup arrow entity.
     */
    copyTo(sheet: MarkupSheet2D): MarkupArrow;
    onUpdate(o: MergableObjectEventArgs<MarkupArrow>): void;
    copyFrom(arrow: MarkupArrow): void;
    isEqual(o: MarkupArrow): boolean;
    clone(): MarkupArrow;
}
//# sourceMappingURL=MarkupArrow.d.ts.map