/** * DOM helpers and static UI assets for {@link PropertyPlugin}. * Keeps the plugin file focused on viewer / tab orchestration. */ export type PropertyUserDataType = "string" | "number" | "boolean" | "json"; /** Trash can (stroke), used for userData row delete and UV attribute delete. */ export declare const PROPERTY_ICON_DELETE_TRASH = ""; /** Plus (stroke), used for adding a userData property. */ export declare const PROPERTY_ICON_ADD_PLUS = ""; /** Refresh / sync (filled), used for smart UV regenerate. */ export declare const PROPERTY_ICON_UV_REFRESH = ""; /** Eye (stroke), used for viewing geometry attribute values. */ export declare const PROPERTY_ICON_VIEW_EYE = ""; /** Duplicate / copy (stroke), used for material instance copy. */ export declare const PROPERTY_ICON_DUPLICATE = ""; export declare function createFormInputRow(labelText: string, fieldEl: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement): HTMLDivElement; export declare function createCheckRow(labelText: string, checkbox: HTMLInputElement): HTMLDivElement; /** Collapsible block for Node tab sections (Transform, Geometry, Animations, …). */ export declare function createCollapsibleNodeSection(panel: HTMLElement, titleText: string, options?: { defaultCollapsed?: boolean; initiallyHidden?: boolean; }): { section: HTMLDivElement; body: HTMLDivElement; }; export interface IconActionButtonOptions { className: string; title: string; svg: string; } export declare function createIconActionButton(opts: IconActionButtonOptions): HTMLButtonElement; /** Opens a plain popup window to inspect raw geometry buffer values (similar to gltfeditor.com). */ export declare function openGeometryDataViewer(title: string, content: string): void; export declare function createDefaultPropertyValue(type: PropertyUserDataType): string | number | boolean | object;