import { type Ref } from "vue";
import type { BarConnection, BarPosition, ConnectionDeleteEvent, GGanttChartProps } from "../types";
import type { UseRowsReturn } from "./useRows";
/**
 * A composable that manages connections between bars in the Gantt chart
 * Handles connection rendering, positioning, and updates
 * @param rowManager - Row management utilities
 * @param props - Gantt chart properties
 * @param id - Unique identifier for the chart instance
 * @returns Object containing connection state and management methods
 */
export declare function useConnections(rowManager: UseRowsReturn, props: GGanttChartProps, id: Ref<string>, emit: {
    (e: "connection-delete", value: ConnectionDeleteEvent): void;
}): {
    connections: Ref<{
        sourceId: string;
        targetId: string;
        type?: import("../types").ConnectionType | undefined;
        color?: string | undefined;
        pattern?: import("../types").ConnectionPattern | undefined;
        animated?: boolean | undefined;
        animationSpeed?: import("../types").ConnectionSpeed | undefined;
    }[], BarConnection[] | {
        sourceId: string;
        targetId: string;
        type?: import("../types").ConnectionType | undefined;
        color?: string | undefined;
        pattern?: import("../types").ConnectionPattern | undefined;
        animated?: boolean | undefined;
        animationSpeed?: import("../types").ConnectionSpeed | undefined;
    }[]>;
    barPositions: Ref<Map<string, {
        id: string;
        x: number;
        y: number;
        width: number;
        height: number;
    }> & Omit<Map<string, BarPosition>, keyof Map<any, any>>, Map<string, BarPosition> | (Map<string, {
        id: string;
        x: number;
        y: number;
        width: number;
        height: number;
    }> & Omit<Map<string, BarPosition>, keyof Map<any, any>>)>;
    getConnectorProps: import("vue").ComputedRef<(conn: BarConnection) => {
        type: import("../types").ConnectionType | undefined;
        color: string | undefined;
        pattern: import("../types").ConnectionPattern | undefined;
        animated: boolean | undefined;
        animationSpeed: import("../types").ConnectionSpeed | undefined;
        isSelected: boolean;
        sourceBar: {
            id: string;
            x: number;
            y: number;
            width: number;
            height: number;
        };
        targetBar: {
            id: string;
            x: number;
            y: number;
            width: number;
            height: number;
        };
    } | null>;
    initializeConnections: () => void;
    updateBarPositions: () => Promise<void>;
    handleConnectionClick: (connection: BarConnection) => void;
    selectedConnection: Ref<{
        sourceId: string;
        targetId: string;
        type?: import("../types").ConnectionType | undefined;
        color?: string | undefined;
        pattern?: import("../types").ConnectionPattern | undefined;
        animated?: boolean | undefined;
        animationSpeed?: import("../types").ConnectionSpeed | undefined;
    } | null, BarConnection | {
        sourceId: string;
        targetId: string;
        type?: import("../types").ConnectionType | undefined;
        color?: string | undefined;
        pattern?: import("../types").ConnectionPattern | undefined;
        animated?: boolean | undefined;
        animationSpeed?: import("../types").ConnectionSpeed | undefined;
    } | null>;
    deleteSelectedConnection: () => void;
};
//# sourceMappingURL=useConnections.d.ts.map