import { TClassProperties } from '../typedefs'; import { Line } from './Line'; import { Control } from '../controls/Control'; import type { FabricObjectProps, SerializedObjectProps } from './Object/types'; interface UniqueArrowProps { x1: number; x2: number; y1: number; y2: number; } export interface SerializedLineProps extends SerializedObjectProps, UniqueArrowProps { } export declare const ArrowDefaultValues: Partial>; export interface ArrowProps extends FabricObjectProps, UniqueArrowProps { } export declare class Arrow extends Line { x1: number; /** * y value or first line edge * @type number * @default */ y1: number; /** * x value or second line edge * @type number * @default */ x2: number; /** * y value or second line edge * @type number * @default */ y2: number; _id: string; obj_type: string; locked: boolean; whiteboardId: string; userId: string; userNo: string; timestamp: Date; zIndex: number; connectorShape: string; subType: string; perPixelTargetFind: boolean; connectorEnd: object; connectorStart: object; connectorType: string; tips: string; connectorStyle: string; timestamp: number; moving: boolean; extendPropeties: string[]; static cacheProperties: string[]; static ownDefaults: Record; static getDefaults(): { controls: { tl: Control; tr: Control; bl: Control; br: Control; }; }; /** * Constructor * @param {Array} [points] Array of points * @param {Object} [options] Options object * @return {Line} thisArg */ constructor([x1, y1, x2, y2]: [number, number, number, number] | undefined, options: any); initEvents(options: any): void; getObject(): {}; toObject(propertiesToInclude: Array): object; getCloneLineWidget(): object; getWidgetMenuList(): string[]; getWidgetMenuLength(): 50 | 165; getContextMenuList(): string[]; recalcLinePoints(line: any): void; calculateEnds(lineObj: any, arrow: any): { x1: any; y1: any; x2: any; y2: any; }; getArrowAngle(): number; getresetArrowaftermoving(): void; removeArrowfromConnectObj(oldConnObj: any): void; resetStrokeAfterScaling(): void; spmyconvert(xs: any): any[]; spdrawCurve(ctx: any, ptsa: any, tension: any, isClosed: any, numOfSegments: any): void; spgetCurvePoints(pts: any, tension: any, isClosed: any, numOfSegments: any): number[]; spdrawLines(ctx: any, pts: any): void; _render(ctx: any): void; drawBeizerBody(ctx: any, p: any, offset: any, stype: any, etype: any, connStartObj: any, connEndObj: any, startAngle: any, endAngle: any): void; drawBZSegments(ctx: any, fPoints: any): void; drawBody(ctx: any, p: any, offset: any, stype: any, etype: any, connStartObj: any, connEndObj: any): void; drawSegments(ctx: any, keyPoints: any): void; drawArrowTip(ctx: any, p: any, fixAngle?: number): void; drawArrowTips(ctx: any, p: any, fixAngle: any): void; setConnectorObj(targetObject: any, pointer: any, isInOneObj: any, isStart: any): void; positionProcess(fabricObject: any, isStart: any): import("../Point").Point | undefined; mousedownProcess(transformData: any, eventData: any, isStart: any): void; mouseupProcess(transformData: any, eventData: any, isStart: any): void; calcDistanceToTarget(current: any, target: any): { x: any; y: any; dot: string; } | { x: number; y: number; dot: number; }; calcDistanceToControlPoint(current: any, target: any): { x: any; y: any; dot: string; } | { x: number; y: number; dot: number; }; } export {}; //# sourceMappingURL=Arrow.d.ts.map