import { MutableRefObject } from "react";
import { Object3D } from "three";
import { CommonConstraintConfig, SingleBodyConstraintConfig, TwoBodyConstraintConfig } from "../../three-ammo/lib/types";
declare type SingleBodyConstraintRefs = {
    bodyARef: MutableRefObject<Object3D | undefined>;
    bodyBRef?: undefined;
};
declare type TwoBodyConstraintRefs = {
    bodyARef: MutableRefObject<Object3D | undefined>;
    bodyBRef: MutableRefObject<Object3D | undefined>;
};
declare type UseConstraintProps = CommonConstraintConfig & ((SingleBodyConstraintRefs & SingleBodyConstraintConfig) | (TwoBodyConstraintRefs & TwoBodyConstraintConfig));
export declare function useSingleBodyConstraint(props: CommonConstraintConfig & SingleBodyConstraintRefs & SingleBodyConstraintConfig): void;
export declare function useTwoBodyConstraint(props: CommonConstraintConfig & TwoBodyConstraintRefs & TwoBodyConstraintConfig): void;
export declare function useConstraint(props: UseConstraintProps): void;
export {};
