import type { UIOrientation } from "../../miscellaneous/UIOrientation"; import type { UIPriority } from "../../miscellaneous/UIPriority"; import type { UIRelation } from "../../miscellaneous/UIRelation"; /** Horizontal and vertical values object */ export interface UIType2DObject { /** Horizontal value */ h?: T; /** Vertical value */ v?: T; } /** Horizontal and vertical values as object, tuple, or single value */ export type UIType2D = UIType2DObject | [T, T] | T; /** * Normalizes UIType2D input to object form. * @param value Object, tuple, or single value * @returns Normalized object with h and v properties */ export declare function normalizeUIType2D(value: UIType2D | undefined): UIType2DObject; /** Base 2D constraint options */ export interface UIConstraint2DOptions { /** Priority for each axis */ priority: UIType2D; /** Relation for each axis */ relation: UIType2D; /** Orientation for each axis */ orientation: UIType2D; } /** 2D size constraint options */ export interface UIConstraintSize2DOptions extends UIConstraint2DOptions { /** Width and height */ size: UIType2D; } /** 2D distance constraint options */ export interface UIConstraintDistance2DOptions extends UIConstraint2DOptions { /** Anchor on element A for each axis */ anchorA: UIType2D; /** Anchor on element B for each axis */ anchorB: UIType2D; /** Distance for each axis */ distance: UIType2D; } /** 2D proportion constraint options */ export interface UIConstraintProportion2DOptions extends UIConstraint2DOptions { /** Proportion for each axis */ proportion: UIType2D; } /** 2D interpolation constraint options */ export interface UIConstraintInterpolation2DOptions extends UIConstraint2DOptions { /** Anchor on element A for each axis */ anchorA: UIType2D; /** Anchor on element B for each axis */ anchorB: UIType2D; /** Anchor on element C for each axis */ anchorC: UIType2D; /** Interpolation factor for each axis */ t: UIType2D; } /** Horizontal and vertical constraint pair */ export interface UIConstraint2DResult { /** Horizontal constraint */ h: TH; /** Vertical constraint */ v: TV; }