import { UILayer } from "../layers/UILayer/UILayer"; /** Objects that belong to a UI layer */ export interface UILayerElement { /** The UI layer containing this element */ readonly layer: UILayer; } /** UI elements with position in 2D space */ export interface UIPointElement { /** Solver variable for x coordinate */ readonly xVariable: number; /** Solver variable for y coordinate */ readonly yVariable: number; /** X coordinate in world units */ readonly x: number; /** Y coordinate in world units */ readonly y: number; } /** UI elements with position and dimensions */ export interface UIPlaneElement extends UIPointElement { /** Solver variable for width */ readonly wVariable: number; /** Solver variable for height */ readonly hVariable: number; /** Width in world units */ readonly width: number; /** Height in world units */ readonly height: number; /** Opposite X coordinate in world units */ readonly oppositeX: number; /** Opposite Y coordinate in world units */ readonly oppositeY: number; /** Center X coordinate in world units */ readonly centerX: number; /** Center Y coordinate in world units */ readonly centerY: number; } /** * Checks if object implements UILayerElement. * @param obj Object to check * @returns True if object has valid layer property */ export declare function isUILayerElement(obj: unknown): obj is UILayerElement; /** * Checks if object implements UIPointElement. * @param obj Object to check * @returns True if object has valid position variables */ export declare function isUIPointElement(obj: unknown): obj is UIPointElement; /** * Checks if object implements UIPlaneElement. * @param obj Object to check * @returns True if object has valid dimension variables */ export declare function isUIPlaneElement(obj: unknown): obj is UIPlaneElement;