import * as _$preact from "preact";

//#region src/components/OpenInAppButton/types.d.ts
/**
 * The props type for {@link OpenInAppButton}.
 * @inline
 */
type OpenInAppButtonProps = {
  placement?: string;
  /**
   * Text to display on the button
   * @defaultValue `"Open in App"`
   */
  text?: string;
  /**
   * Classname to apply to the button
   */
  classname?: string;
};
//#endregion
//#region src/components/OpenInAppButton/OpenInAppButton.d.ts
/**
 * Button to open the Frak Wallet mobile app via deep link
 *
 * @param args
 * @returns The open in app button with `<button>` tag (only renders on mobile devices)
 *
 * @group components
 *
 * @example
 * Basic usage:
 * ```html
 * <frak-open-in-app></frak-open-in-app>
 * ```
 *
 * @example
 * Using a custom text:
 * ```html
 * <frak-open-in-app text="Get the App"></frak-open-in-app>
 * ```
 *
 * @example
 * With login action:
 * ```html
 * <frak-open-in-app classname="button button-primary"></frak-open-in-app>
 * ```
 */
declare function OpenInAppButton({
  placement: placementId,
  text,
  classname
}: OpenInAppButtonProps): _$preact.JSX.Element | null;
//#endregion
//#region src/components/OpenInAppButton/index.d.ts
/**
 * Custom element interface for `<frak-open-in-app>`.
 * Combines standard {@link HTMLElement} with {@link OpenInAppButtonProps}.
 */
interface OpenInAppButtonElement extends HTMLElement, OpenInAppButtonProps {}
declare global {
  interface HTMLElementTagNameMap {
    "frak-open-in-app": OpenInAppButtonElement;
  }
}
//#endregion
export { OpenInAppButton, OpenInAppButtonElement };