import type { RoughCanvas } from '../../index.js';
import { type BezierCurveParameters } from '../../utils/curve.js';
import type { PointLocation } from '../../utils/point-location.js';
import { type IVec } from '../../utils/vec.js';
import { ConnectorEndpoint, ConnectorMode } from './types.js';
export declare function getArrowPoints(points: PointLocation[], size: number | undefined, mode: ConnectorMode, bezierParameters: BezierCurveParameters, endPoint?: ConnectorEndpoint, radians?: number): {
    points: number[][];
};
export declare function getCircleCenterPoint(points: PointLocation[], radius: number | undefined, mode: ConnectorMode, bezierParameters: BezierCurveParameters, endPoint?: ConnectorEndpoint): number[];
export declare function getPointWithTangent(points: PointLocation[], mode: ConnectorMode, endPoint: ConnectorEndpoint, bezierParameters: BezierCurveParameters): PointLocation;
export declare function getDiamondPoints(point: PointLocation, size?: number, endPoint?: ConnectorEndpoint): {
    points: number[][];
};
export type ArrowOptions = {
    end: ConnectorEndpoint;
    seed: number;
    mode: ConnectorMode;
    rough: boolean;
    roughness: number;
    strokeColor: string;
    strokeWidth: number;
    fillColor: string;
    fillStyle: string;
    bezierParameters: BezierCurveParameters;
};
export declare function getRcOptions(options: ArrowOptions): {
    seed: number;
    roughness: number;
    stroke: string;
    strokeWidth: number;
    fill: string;
    fillStyle: string;
};
export declare function renderRoundedPolygon(ctx: CanvasRenderingContext2D, points: IVec[], color: string, strokeWidth: number, fill?: boolean): void;
export declare function renderArrow(points: PointLocation[], ctx: CanvasRenderingContext2D, rc: RoughCanvas, options: ArrowOptions): void;
export declare function renderTriangle(points: PointLocation[], ctx: CanvasRenderingContext2D, rc: RoughCanvas, options: ArrowOptions): void;
export declare function renderDiamond(points: PointLocation[], ctx: CanvasRenderingContext2D, rc: RoughCanvas, options: ArrowOptions): void;
export declare function renderCircle(points: PointLocation[], ctx: CanvasRenderingContext2D, rc: RoughCanvas, options: ArrowOptions): void;
//# sourceMappingURL=utils.d.ts.map