import type { FerrsignView2, FerrsignView3 } from "ferrsign"; import type { WebGLRenderer } from "three"; import type { UIPlaneElement } from "../../miscellaneous/shared"; import type { UIConstraint } from "../../constraints/UIConstraint"; import { UIInputWrapper } from "../../wrappers/UIInputWrapper/UIInputWrapper"; import type { UILayerMode, UILayerOptions, UILayerOrientation } from "./UILayer.Internal"; /** Base layer for UI rendering and layout management */ export declare abstract class UILayer implements UIPlaneElement { /** Optional layer name */ name: string; /** Solver variable for x coordinate */ readonly xVariable: number; /** Solver variable for y coordinate */ readonly yVariable: number; /** Solver variable for width */ readonly wVariable: number; /** Solver variable for height */ readonly hVariable: number; protected readonly inputWrapperInternal: UIInputWrapper; private readonly solverWrapperInternal; private readonly sceneWrapperInternal; private modeInternal; private orientationInternal; private readonly signalOrientationChangedInternal; private readonly signalModeChangedInternal; private readonly signalRenderingInternal; private readonly signalResizedInternal; private readonly signalConstraintAddedInternal; private readonly signalConstraintRemovedInternal; private readonly constraintRegistryInternal; constructor(options: Partial); /** X coordinate in world units (always 0 for layers) */ get x(): number; /** Y coordinate in world units (always 0 for layers) */ get y(): number; /** Layer width in world units */ get width(): number; /** Layer height in world units */ get height(): number; /** X coordinate of right edge */ get oppositeX(): number; /** Y coordinate of top edge */ get oppositeY(): number; /** X coordinate of horizontal center */ get centerX(): number; /** Y coordinate of vertical center */ get centerY(): number; /** Current visibility and interactivity mode */ get mode(): UILayerMode; /** Current orientation based on aspect ratio */ get orientation(): UILayerOrientation; /** Signal fired when orientation changes */ get signalOrientationChanged(): FerrsignView2; /** Signal fired when mode changes */ get signalModeChanged(): FerrsignView2; /** Signal fired during rendering */ get signalRendering(): FerrsignView3; /** Signal fired when layer resized */ get signalResized(): FerrsignView3; /** Signal fired when a constraint is added */ get signalConstraintAdded(): FerrsignView2; /** Signal fired when a constraint is removed */ get signalConstraintRemoved(): FerrsignView2; /** Constraint registry */ get constraintRegistry(): readonly UIConstraint[]; /** Updates visibility and interactivity mode */ set mode(value: UILayerMode); protected resizeInternal(width: number, height: number): void; protected renderInternal(renderer: WebGLRenderer, deltaTime: number): void; }