import React, { ReactNode } from 'react'; import { j as CherryMiniAppOptions, n as CherryUser, m as CherryRoom, C as CherryMiniApp, g as CherryBlinkContext, h as CherryEnvironment, k as CherryNavigate, S as ShareBlinkOptions, p as ShareBlinkResult } from '../client-Bi55Q6eQ.js'; export { a as BRIDGE_VERSION, i as CherryMiniAppEvent, l as CherryPlatform, L as LaunchTokenPayload } from '../client-Bi55Q6eQ.js'; import { D as DetectPlatformOptions } from '../token-Drin0T5e.js'; export { d as detectPlatform, g as getCherryEnvironment, i as isInsideCherry, v as verifyLaunchToken } from '../token-Drin0T5e.js'; interface CherryMiniAppProviderProps extends CherryMiniAppOptions { children: ReactNode; } declare function CherryMiniAppProvider({ children, initTimeout, strict, }: CherryMiniAppProviderProps): React.JSX.Element; interface UseCherryMiniAppResult { user: CherryUser | null; room: CherryRoom | null; launchToken: string | null; isReady: boolean; error: Error | null; } declare function useCherryMiniApp(): UseCherryMiniAppResult; declare function useCherryApp(): CherryMiniApp | null; interface UseCherryWalletResult { publicKey: string | null; connected: boolean; signTransaction(transaction: unknown): Promise; signAllTransactions(transactions: unknown[]): Promise; signMessage(message: Uint8Array): Promise; signAndSendTransaction(transaction: unknown): Promise; } declare function useCherryWallet(): UseCherryWalletResult; declare function useCherryNavigate(): CherryNavigate; /** * Returns the inline blink context (messageId, sender, viewer, params, …) when * the mini-app is rendered as an inline blink, or `null` otherwise. Use it to * render per-message ("unique blink") state. */ declare function useCherryBlink(): CherryBlinkContext | null; /** * Returns a `share` function that hands a "result" snapshot to the Cherry host * so the user can reshare it into a DM or group as a read-only blink. Resolves * once the user picks a recipient (or cancels). */ declare function useCherryShare(): (options?: ShareBlinkOptions) => Promise; /** * Synchronous — does NOT require CherryMiniAppProvider. * Safe to call at the top of any component before the provider tree is mounted. * * Pass `{ strict: true }` to disable fallback detection and only accept * Cherry-injected signals (`window.__cherry` / `cherry_embed=1`). */ declare function useCherryEnvironment(options?: DetectPlatformOptions): CherryEnvironment; export { CherryBlinkContext, CherryEnvironment, CherryMiniApp, CherryMiniAppOptions, CherryMiniAppProvider, type CherryMiniAppProviderProps, CherryRoom, CherryUser, DetectPlatformOptions, ShareBlinkOptions, ShareBlinkResult, type UseCherryMiniAppResult, type UseCherryWalletResult, useCherryApp, useCherryBlink, useCherryEnvironment, useCherryMiniApp, useCherryNavigate, useCherryShare, useCherryWallet };