import { IObject3D, IObject3DEventMap } from '../../../core';
export interface ConstraintPropsTypes {
    copy_position: {
        axis?: ('x' | 'y' | 'z')[];
        invert?: ('x' | 'y' | 'z')[];
    };
    copy_rotation: {
        axis?: ('x' | 'y' | 'z')[];
        invert?: ('x' | 'y' | 'z')[];
        order?: 'XYZ' | 'XZY' | 'YXZ' | 'YZX' | 'ZXY' | 'ZYX';
    };
    copy_scale: {
        axis?: ('x' | 'y' | 'z')[];
        uniform?: boolean;
    };
    copy_transforms: {};
    follow_path: {
        offset?: number;
        followCurve?: boolean;
    };
    look_at: {
        upAxis?: 'x' | '-x' | 'y' | '-y' | 'z' | '-z';
    };
}
export type TConstraintPropsType = keyof ConstraintPropsTypes;
export type ConstraintPropsType<T extends TConstraintPropsType = TConstraintPropsType> = ConstraintPropsTypes[T] & {
    [key: string]: any;
};
export declare const basicObjectConstraints: Record<TConstraintPropsType, {
    defaultProps: ConstraintPropsType;
    update: (obj: IObject3D, target: IObject3D | undefined, props: ConstraintPropsType, influence: number) => {
        changed: boolean;
        end?: boolean;
        change?: string;
    };
    setDirty?: (e: IObject3DEventMap['objectUpdate'], isTarget?: boolean) => boolean;
}>;
//# sourceMappingURL=../../../src/plugins/extras/helpers/BasicObjectConstraints.d.ts.map