import type { HTMLButtonAttributes } from 'svelte/elements'; import type { Snippet } from 'svelte'; type SupportState = 'unsupported' | 'insecure' | 'blocked' | 'supported'; type Props = HTMLButtonAttributes & { /** The type of `XRSession` to create */ mode: XRSessionMode; /** * `XRSession` configuration options * @see https://immersive-web.github.io/webxr/#feature-dependencies */ sessionInit?: XRSessionInit & { domOverlay?: { root: HTMLElement; } | undefined; }; /** Whether this button should only enter / exit an `XRSession`. Default is to toggle both ways */ force?: 'enter' | 'exit'; /** Whether to apply automatic styling to the button. Set false to apply custom styles. Default is true. */ styled?: boolean; children?: Snippet<[{ state: SupportState; }]>; onclick?: (event: { state: SupportState; nativeEvent: MouseEvent; }) => void; onerror?: (error: Error) => void; }; /** * `` is an HTML `