import type { UIPlaneElement, UIPointElement } from "../../miscellaneous/shared"; import { UISingleParameterConstraint } from "../UISingleParameterConstraint/UISingleParameterConstraint"; import type { UIHorizontalInterpolationConstraintOptions } from "./UIHorizontalInterpolationConstraint.Internal"; /** Positions element C horizontally between A and B based on interpolation factor */ export declare class UIHorizontalInterpolationConstraint extends UISingleParameterConstraint { readonly a: UIPointElement | UIPlaneElement; readonly b: UIPointElement | UIPlaneElement; readonly c: UIPointElement | UIPlaneElement; /** Solver constraint descriptor */ protected readonly constraint: number; /** Anchor on element A */ private anchorAInternal; /** Anchor on element B */ private anchorBInternal; /** Anchor on element C */ private anchorCInternal; /** Interpolation factor */ private tInternal; /** * @param a First element * @param b Second element * @param c Element to position between A and B * @param options Interpolation configuration */ constructor(a: UIPointElement | UIPlaneElement, b: UIPointElement | UIPlaneElement, c: UIPointElement | UIPlaneElement, options?: Partial); /** Interpolation factor (0 = A position, 1 = B position) */ get t(): number; /** Anchor on element A (0 = left, 0.5 = center, 1 = right) */ get anchorA(): number; /** Anchor on element B (0 = left, 0.5 = center, 1 = right) */ get anchorB(): number; /** Anchor on element C (0 = left, 0.5 = center, 1 = right) */ get anchorC(): number; /** Updates interpolation factor */ set t(value: number); /** Updates anchor on element A */ set anchorA(value: number); /** Updates anchor on element B */ set anchorB(value: number); /** Updates anchor on element C */ set anchorC(value: number); /** Builds constraint expression: C - A*(1-t) - B*t = 0 */ private buildLHS; }