import { Behaviour } from "../Component.js"; import { type IPointerClickHandler, PointerEventData } from "../ui/index.js"; /** * [OpenURL](https://engine.needle.tools/docs/api/OpenURL) OpenURLMode defines how a URL should be opened. */ export declare enum OpenURLMode { NewTab = 0, SameTab = 1, NewWindow = 2 } /** * OpenURL behaviour opens a URL in a new tab or window when the object (or any if it's children) is clicked. * * @summary Opens a web link when the object is clicked. * @category Interactivity * @category Web * @group Components */ export declare class OpenURL extends Behaviour implements IPointerClickHandler { /** * The URL to open. */ url?: string; /** * The mode in which the URL should be opened: NewTab, SameTab, NewWindow. */ mode: OpenURLMode; /** * If true, the URL will be opened when the object with this component is clicked. */ clickable: boolean; /** * Opens the URL in a new tab or window. */ open(): Promise; /** @internal */ start(): void; /** @internal */ onPointerEnter(args: any): void; /** @internal */ onPointerExit(): void; /** @internal */ onPointerClick(args: PointerEventData): void; private _validateUrl; }