import { Ref } from 'vue';
import { UseBezierCurve, UseConnections } from './types';
export interface ConnectionManagerOptions {
    schema: Ref<any>;
    useBezierCurveComposition: UseBezierCurve;
    useConnectionsComposition: UseConnections;
    onSchemaUpdate: (newSchema: any) => void;
}
export interface UseConnectionManager {
    restoreConnections: () => Promise<void>;
    createConnection: (startPortId: string, endPortId: string, startNodeId: string, endNodeId: string) => Promise<boolean>;
    deleteConnection: (startPortId: string, endPortId: string) => boolean;
    insertNodeInConnection: (connectionId: string, newNodeId: string, newNodeType: string) => Promise<boolean>;
    getConnectionsByNodeId: (nodeId: string) => Array<{
        startPortId: string;
        endPortId: string;
        connectionId: string;
    }>;
}
export declare function useConnectionManager(options: ConnectionManagerOptions): UseConnectionManager;
