import { ComponentNature, RealObject, type AnchorPin } from '@hatiolab/things-scene'; import type { State } from '@hatiolab/things-scene'; import { type Alignment, type Heights, type PlacementArchetype } from '@operato/scene-base'; type ThemeKey = 'minimal' | 'card' | 'sci-fi'; /** Tooltip3D 컴포넌트 state */ export interface Tooltip3DState extends State { anchorRef?: string; anchorOffsetX?: number; anchorOffsetY?: number; anchorOffsetZ?: number; theme?: ThemeKey; anchorPin?: AnchorPin; screenFixed?: boolean; alpha?: number; } declare const Tooltip3D_base: any; export declare class Tooltip3D extends Tooltip3D_base { state: Tooltip3DState; static placement: PlacementArchetype; static align: Alignment; static defaultDepth: (h: Heights) => number; get nature(): ComponentNature; get anchors(): never[]; get tagName(): string; get hasTextProperty(): boolean; setElementProperties(element: HTMLElement): void; private _themeKey; buildRealObject(): RealObject | undefined; /** * Tooltip3D is by definition a HUD popup. Older saved boards may lack * `state.screenFixed` (template-only fields don't backfill). Asserting * before `super.ready()` guarantees framework HUD-aware paths * (addObject routing, reposition skip, build/updateDimension skip) * see screenFixed=true from the very first lifecycle tick. */ ready(): Promise; } export {};