import { HTMLElementBase } from "../engine_ssr.js"; declare global { interface HTMLElementTagNameMap { "needle-button": NeedleButtonElement; } } /** * [<needle-button>](https://engine.needle.tools/docs/api/NeedleButtonElement) is a web component for easily adding AR, VR, Quicklook, or QR code buttons to your website without writing JavaScript code. * * The button automatically handles session management and displays appropriate UI based on device capabilities. * It comes with default styling (glassmorphism design) but can be fully customized with CSS. * * **Supported button types:** * - `ar` - WebXR AR session button * - `vr` - WebXR VR session button * - `quicklook` - Apple AR Quick Look button (iOS only) * - `qrcode` - QR code sharing button * * @example Basic AR/VR buttons * ```html * * * * * ``` * * @example Custom button labels * ```html * Start AR Experience * Enter VR Mode * View in AR * ``` * * @example Custom styling * ```html * * Start AR * ``` * * @example Unstyled button (for complete custom styling) * ```html * * 🥽 * Launch AR * * ``` * * @see {@link NeedleEngineWebComponent} for the main <needle-engine> element * @see {@link NeedleMenu} for the built-in menu component that can display similar buttons */ export declare class NeedleButtonElement extends HTMLElementBase { #private; static observedAttributes: string[]; constructor(); attributeChangedCallback(_name: string, _oldValue: string, _newValue: string): void; }