export interface ArsInfoTileProperty { key: string; value: string; } export interface ArsInfoTileData { id?: string; title?: string; subtitle?: string; accentColor?: string; properties?: Record | ArsInfoTileProperty[]; types?: Record; /** Property keys that should be rendered in edit mode but hidden * in view mode. Useful when a value is already surfaced elsewhere * (e.g. a name shown in the title). */ hiddenKeys?: string[]; /** Formatted display values for view mode. If a key is present here * the tile renders it instead of the raw property value, while edit * mode still uses the raw value from `properties`. */ displayValues?: Record; /** Explicit render order for property keys (the *external* ordering of * the node's properties). Keys listed here render in the given sequence; * any property not listed falls back to alphabetical order after them. * This decouples the displayed order from the JSON-object key order, * which is not preserved across (de)serialization. */ order?: string[]; } declare class ArsInfoTile extends HTMLElement { #private; private _data; private _activationEventsBound; private _editAbortController; /** MutationObserver that watches the engine-written inline `style` * (which carries the scene `scale3d`) so we can keep the CSS * custom property `--counter-scale` in sync while the camera * animates or the user pans/zooms. */ private _scaleObserver; static get observedAttributes(): string[]; constructor(); connectedCallback(): void; attributeChangedCallback(name: string, _oldValue: string | null, _newValue: string | null): void; get data(): ArsInfoTileData; set data(value: ArsInfoTileData); get selected(): boolean; set selected(value: boolean); setSelected(isSelected: boolean): void; setDragging(isDragging: boolean): void; get collapsed(): boolean; set collapsed(value: boolean); setCollapsed(isCollapsed: boolean): void; get editing(): boolean; set editing(value: boolean); setEditing(isEditing: boolean): void; get collapsible(): boolean; set collapsible(value: boolean); setCollapsible(isCollapsible: boolean): void; get opacity(): number; set opacity(value: number); measureIntrinsicHeight(): number; } export { ArsInfoTile, ArsInfoTile as default }; /** @deprecated Use ArsInfoTileProperty instead. */ export type ArsRelationalNodeProperty = ArsInfoTileProperty; /** @deprecated Use ArsInfoTileData instead. */ export type ArsRelationalNodeData = ArsInfoTileData; /** @deprecated Use ArsInfoTile instead. */ export declare const ArsRelationalNode: typeof ArsInfoTile;