import { AuthStateSignup, ConstructorOpts, ParaCore, Environment, PlatformUtils, EventData } from '@getpara/web-sdk';
/**
 * Represents a mobile implementation of the Para SDK.
 * @extends ParaCore
 *
 * @example
 * const para = new ParaMobile(Environment.BETA, "api_key");
 */
export declare class ParaMobile extends ParaCore {
    isNativePasskey: boolean;
    private relyingPartyId;
    /**
     * Creates an instance of ParaMobile.
     * @param {Environment} env - The environment to use (DEV, SANDBOX, BETA, or PROD). Optional if the apiKey contains an environment prefix (e.g., "prod_your_api_key"). Updated API keys can be found at https://developer.getpara.com.
     * @param {string} [apiKey] - The API key for authentication.
     * @param {string} [relyingPartyId] - The relying party ID for WebAuthn.
     * @param {ConstructorOpts} [opts] - Additional constructor options.
     */
    constructor(env: Environment | undefined, apiKey: string, relyingPartyId?: string, opts?: ConstructorOpts);
    constructor(apiKey: string, relyingPartyId?: string, opts?: ConstructorOpts);
    setup(): Promise<void>;
    protected getPlatformUtils(): PlatformUtils;
    isPasskeySupported(): Promise<boolean>;
    /**
     * Registers a passkey for the user.
     * @param authState - Either an AuthStateSignup object or a passkeyId string.
     * @returns {Promise<void>}
     */
    registerPasskey(authState: AuthStateSignup): Promise<void>;
    registerPasskey(passkeyId: string): Promise<void>;
    /**
     * Logs in the user using their authentication credentials.
     * @param {AuthParams} params - The authentication parameters.
     * @returns {Promise<void>}
     */
    loginWithPasskey(): Promise<void>;
    /**
     * Sets a global handler for transaction review URLs. When a signing operation requires
     * user approval (e.g., due to permissions policies), the SDK needs to open a review URL.
     * On React Native, provide a handler that opens the URL in an in-app browser.
     *
     * @example
     * ```ts
     * import { openBrowserAsync } from 'expo-web-browser';
     * para.setTransactionReviewHandler((url) => openBrowserAsync(url));
     * ```
     */
    setTransactionReviewHandler(handler: (url: string) => void): void;
    /**
     * Handles a message from an in-app browser (WebView).
     * Call this from your WebView's `onMessage` callback to bridge portal events
     * (e.g. TELEGRAM_SUCCESS, FARCASTER_SUCCESS) into the SDK's event system.
     *
     * @example
     * ```tsx
     * <WebView
     *   source={{ uri: portalUrl }}
     *   onMessage={(event) => {
     *     const data = JSON.parse(event.nativeEvent.data);
     *     para.handleWebViewMessage(data);
     *   }}
     * />
     * ```
     */
    handleWebViewMessage(data: EventData): void;
}
