import type { UIElement } from "../../elements/UIElement/UIElement"; import type { UIPlaneElement, UIPointElement } from "../../miscellaneous/shared"; import { UIHeightConstraint } from "../UIHeightConstraint/UIHeightConstraint"; import { UIHorizontalDistanceConstraint } from "../UIHorizontalDistanceConstraint/UIHorizontalDistanceConstraint"; import { UIHorizontalInterpolationConstraint } from "../UIHorizontalInterpolationConstraint/UIHorizontalInterpolationConstraint"; import { UIHorizontalProportionConstraint } from "../UIHorizontalProportionConstraint/UIHorizontalProportionConstraint"; import { UIVerticalDistanceConstraint } from "../UIVerticalDistanceConstraint/UIVerticalDistanceConstraint"; import { UIVerticalInterpolationConstraint } from "../UIVerticalInterpolationConstraint/UIVerticalInterpolationConstraint"; import { UIVerticalProportionConstraint } from "../UIVerticalProportionConstraint/UIVerticalProportionConstraint"; import { UIWidthConstraint } from "../UIWidthConstraint/UIWidthConstraint"; import type { UIConstraint2DResult, UIConstraintDistance2DOptions, UIConstraintInterpolation2DOptions, UIConstraintProportion2DOptions, UIConstraintSize2DOptions } from "./UIConstraint2DBuilder.Internal"; /** Builder for paired horizontal and vertical constraints */ export declare class UIConstraint2DBuilder { /** * Creates width and height constraints. * @param element Element to constrain * @param options Size configuration for both axes * @returns Width and height constraints */ static size(element: UIElement, options?: Partial): UIConstraint2DResult; /** * Creates horizontal and vertical distance constraints. * @param a First element * @param b Second element * @param options Distance configuration for both axes * @returns Horizontal and vertical distance constraints */ static distance(a: UIPointElement | UIPlaneElement, b: UIPointElement | UIPlaneElement, options?: Partial): UIConstraint2DResult; /** * Creates horizontal and vertical proportion constraints. * @param a Element with proportional dimensions * @param b Target element * @param options Proportion configuration for both axes * @returns Horizontal and vertical proportion constraints */ static proportion(a: UIPlaneElement, b: UIPlaneElement, options?: Partial): UIConstraint2DResult; /** * Creates horizontal and vertical interpolation constraints. * @param a First element * @param b Second element * @param c Element to position between A and B * @param options Interpolation configuration for both axes * @returns Horizontal and vertical interpolation constraints */ static interpolation(a: UIPointElement | UIPlaneElement, b: UIPointElement | UIPlaneElement, c: UIPointElement | UIPlaneElement, options?: Partial): UIConstraint2DResult; }