import type { _SCNConstraint } from "./SCNConstraint.js";
import type { _SCNNode } from "./SCNNode.js";
import type { CATransform3D } from "../structs/CATransform3D.js";
import type { SCNVector3 } from "../structs/SCNVector3.js";
import type { SCNVector4 } from "../structs/SCNVector4.js";
export declare class _SCNTransformConstraint extends _SCNConstraint {
    static alloc(): _SCNTransformConstraint;
    static new(): _SCNTransformConstraint;
    init(): _SCNTransformConstraint;
    /**
     * @method transformConstraintInWorldSpace:withBlock: @abstract Creates and returns a SCNTransformConstraint object with the specified parameters. @param world Determines whether the constraint is evaluated in world or local space. @param block The custom block to call to evaluate the constraint. @discussion The node and its transform are passed to the block. The transform returned by the block will be used to render the node.
     */
    static transformConstraintInWorldSpace$withBlock$(world: boolean, block: (node: _SCNNode, transform: CATransform3D) => CATransform3D): _SCNTransformConstraint;
    /**
     * @method positionConstraintInWorldSpace:withBlock: @abstract Creates and returns a SCNTransformConstraint object with the specified parameters. @param world Determines whether the constraint is evaluated in world or local space. @param block The custom block to call to evaluate the constraint. @discussion The node and its position are passed to the block. The position returned by the block will be used to render the node.
     */
    static positionConstraintInWorldSpace$withBlock$(world: boolean, block: (node: _SCNNode, position: SCNVector3) => SCNVector3): _SCNTransformConstraint;
    /**
     * @method orientationConstraintInWorldSpace:withBlock: @abstract Creates and returns a SCNTransformConstraint object with the specified parameters. @param world Determines whether the constraint is evaluated in world or local space. @param block The custom block to call to evaluate the constraint. @discussion The node and its quaternion are passed to the block. The quaternion returned by the block will be used to render the node.
     */
    static orientationConstraintInWorldSpace$withBlock$(world: boolean, block: (node: _SCNNode, quaternion: SCNVector4) => SCNVector4): _SCNTransformConstraint;
}
