import type { SerializedXYWH } from '../index.js';
import { type BaseProps, ElementModel } from './base.js';
import type { StrokeStyle } from './common.js';
export type PointStyle = 'None' | 'Arrow' | 'Triangle' | 'Circle' | 'Diamond';
export type Connection = {
    id?: string;
    position: [number, number];
};
export declare enum ConnectorMode {
    Straight = 0,
    Orthogonal = 1,
    Curve = 2
}
type ConnectorElementProps = BaseProps & {
    mode: ConnectorMode;
    stroke: string;
    strokeWidth: number;
    strokeStyle: StrokeStyle;
    roughness?: number;
    rough?: boolean;
    source: Connection;
    target: Connection;
    frontEndpointStyle?: PointStyle;
    rearEndpointStyle?: PointStyle;
};
export declare class ConnectorElementModel extends ElementModel<ConnectorElementProps> {
    get type(): string;
    xywh: SerializedXYWH;
    rotate: number;
    mode: ConnectorMode;
    strokeWidth: number;
    stroke: string;
    strokeStyle: StrokeStyle;
    roughness: number;
    rough?: boolean;
    source: Connection;
    target: Connection;
    frontEndpointStyle?: PointStyle;
    rearEndpointStyle?: PointStyle;
}
export {};
//# sourceMappingURL=connector.d.ts.map