import { Point } from '../Point'; import { Control } from './Control'; import type { Path } from '../shapes/Path'; import type { TPointerEvent, Transform } from '../EventTypeDefs'; import type { ControlRenderingStyleOverride } from './controlRendering'; type TTransformAnchor = Transform; export type PathPointControlStyle = { controlFill?: string; controlStroke?: string; connectionDashArray?: number[]; }; export declare const calcPathPointPosition: (pathObject: Path, commandIndex: number, pointIndex: number) => Point; export declare const movePathPoint: (pathObject: Path, x: number, y: number, commandIndex: number, pointIndex: number) => boolean; /** * This function defines what the control does. * It'll be called on every mouse move after a control has been clicked and is being dragged. * The function receives as argument the mouse event, the current transform object * and the current position in canvas coordinate `transform.target` is a reference to the * current object being transformed. */ export declare function pathActionHandler(this: PathPointControl, eventData: TPointerEvent, transform: TTransformAnchor, x: number, y: number): boolean; declare class PathPointControl extends Control { commandIndex: number; pointIndex: number; controlFill: string; controlStroke: string; constructor(options?: Partial); render(ctx: CanvasRenderingContext2D, left: number, top: number, styleOverride: ControlRenderingStyleOverride | undefined, fabricObject: Path): void; } export declare function createPathControls(path: Path, options?: Partial & { controlPointStyle?: PathPointControlStyle; pointStyle?: PathPointControlStyle; }): Record; export {}; //# sourceMappingURL=pathControl.d.ts.map