import type { ConnectionConstraint } from '../schema/node-definition/constraints';
export interface ConnectionValidationContext {
    sourceNode: {
        type: string;
        category?: string;
        data?: unknown;
    };
    sourceHandle: {
        id: string;
        handleType: string;
        constraints?: ConnectionConstraint;
    };
    targetNode: {
        type: string;
        category?: string;
        data?: unknown;
    };
    targetHandle: {
        id: string;
        handleType: string;
        constraints?: ConnectionConstraint;
    };
}
export interface ValidationResult {
    valid: boolean;
    reason?: string;
}
export declare function checkCategoryConstraint(category: string | undefined, allowed?: string[], forbidden?: string[]): boolean;
export declare function validateConnection(context: ConnectionValidationContext): ValidationResult;
export declare function canAcceptMoreConnections(handle: {
    constraints?: ConnectionConstraint;
}, currentConnectionCount: number): boolean;
export declare function meetsMinimumConnections(handle: {
    constraints?: ConnectionConstraint;
}, currentConnectionCount: number): boolean;
//# sourceMappingURL=constraint-validator.d.ts.map