/**
* 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;