import { W as WalletAuthResult, M as MiniKitWalletAuthOptions, C as CommandResultByVia, i as isInWorldApp, U as User, D as DeviceProperties, a as MiniAppLaunchLocation, R as ResponseEvent, b as MiniKitInstallReturnType, c as UserNameService } from './types-COxx4rrS.js';
import { S as SendTransactionResult, M as MiniKitSendTransactionOptions, P as PayResult, a as MiniKitPayOptions, b as ShareContactsResult, c as MiniKitShareContactsOptions, d as MiniAppSignMessageSuccessPayload, e as MiniKitSignMessageOptions, f as MiniAppSignTypedDataPayload, g as MiniKitSignTypedDataOptions, h as MiniAppSignTypedDataSuccessPayload, i as MiniAppChatPayload, j as MiniKitChatOptions, k as MiniAppChatSuccessPayload, l as MiniAppSharePayload, m as MiniKitShareOptions, n as MiniAppShareSuccessPayload, o as MiniAppGetPermissionsPayload, p as MiniKitGetPermissionsOptions, q as MiniAppGetPermissionsSuccessPayload, r as MiniAppRequestPermissionPayload, s as MiniKitRequestPermissionOptions, t as MiniAppRequestPermissionSuccessPayload, u as MiniAppSendHapticFeedbackPayload, v as MiniKitSendHapticFeedbackOptions, w as MiniAppSendHapticFeedbackSuccessPayload, x as MiniAppAttestationSuccessPayload, y as MiniKitAttestationOptions, C as CloseMiniAppResult, z as MiniKitCloseMiniAppOptions } from './types-B3FhypWE.js';
export { W as WorldAppProvider, g as getWorldAppProvider } from './provider-DeDUsLbs.js';
import 'abitype';

declare class MiniKit {
    private static eventManager;
    private static _appId;
    private static _user;
    private static _deviceProperties;
    private static _location;
    private static _isReady;
    private static getActiveMiniKit;
    /**
     * Authenticate user via wallet signature (SIWE)
     *
     * Works in World App (native SIWE) and web (Wagmi + SIWE fallback).
     *
     * @example
     * ```typescript
     * const result = await MiniKit.walletAuth({ nonce: 'randomnonce123' });
     * console.log(result.data.address);
     * console.log(result.executedWith); // 'minikit' | 'wagmi' | 'fallback'
     * ```
     */
    static walletAuth<TFallback = WalletAuthResult>(options: MiniKitWalletAuthOptions<TFallback>): Promise<CommandResultByVia<WalletAuthResult, TFallback>>;
    /**
     * Send one or more transactions
     *
     * World App: batch + permit2 + gas sponsorship
     * Web: sequential execution via Wagmi
     *
     * @example
     * ```typescript
     * const result = await MiniKit.sendTransaction({
     *   chainId: 480,
     *   transactions: [{
     *     to: '0x...',
     *     data: '0x...',
     *     value: '0x0',
     *   }],
     * });
     * ```
     */
    static sendTransaction<TFallback = SendTransactionResult>(options: MiniKitSendTransactionOptions<TFallback>): Promise<CommandResultByVia<SendTransactionResult, TFallback>>;
    /**
     * Send a payment (World App only)
     *
     * Requires custom fallback on web.
     *
     * @example
     * ```typescript
     * const result = await MiniKit.pay({
     *   reference: crypto.randomUUID(),
     *   to: '0x...',
     *   tokens: [{ symbol: Tokens.WLD, token_amount: '1.0' }],
     *   description: 'Payment for coffee',
     *   fallback: () => showStripeCheckout(),
     * });
     * ```
     */
    static pay<TFallback = PayResult>(options: MiniKitPayOptions<TFallback>): Promise<CommandResultByVia<PayResult, TFallback, 'minikit'>>;
    /**
     * Open the contact picker (World App only)
     *
     * Requires custom fallback on web.
     *
     * @example
     * ```typescript
     * const result = await MiniKit.shareContacts({
     *   isMultiSelectEnabled: true,
     *   fallback: () => showManualAddressInput(),
     * });
     * ```
     */
    static shareContacts<TFallback = ShareContactsResult>(options?: MiniKitShareContactsOptions<TFallback>): Promise<CommandResultByVia<ShareContactsResult, TFallback, 'minikit'>>;
    /**
     * Sign a message
     */
    static signMessage<TFallback = MiniAppSignMessageSuccessPayload>(options: MiniKitSignMessageOptions<TFallback>): Promise<CommandResultByVia<MiniAppSignMessageSuccessPayload, TFallback>>;
    /**
     * Sign typed data (EIP-712)
     */
    static signTypedData<TFallback = MiniAppSignTypedDataPayload>(options: MiniKitSignTypedDataOptions<TFallback>): Promise<CommandResultByVia<MiniAppSignTypedDataSuccessPayload, TFallback>>;
    /**
     * Send a chat message
     */
    static chat<TFallback = MiniAppChatPayload>(options: MiniKitChatOptions<TFallback>): Promise<CommandResultByVia<MiniAppChatSuccessPayload, TFallback, 'minikit'>>;
    /**
     * Share files/text/URL
     */
    static share<TFallback = MiniAppSharePayload>(options: MiniKitShareOptions<TFallback>): Promise<CommandResultByVia<MiniAppShareSuccessPayload, TFallback, 'minikit'>>;
    /**
     * Get current permission settings
     */
    static getPermissions<TFallback = MiniAppGetPermissionsPayload>(options?: MiniKitGetPermissionsOptions<TFallback>): Promise<CommandResultByVia<MiniAppGetPermissionsSuccessPayload, TFallback, 'minikit'>>;
    /**
     * Request a permission from the user
     */
    static requestPermission<TFallback = MiniAppRequestPermissionPayload>(options: MiniKitRequestPermissionOptions<TFallback>): Promise<CommandResultByVia<MiniAppRequestPermissionSuccessPayload, TFallback, 'minikit'>>;
    /**
     * Trigger haptic feedback
     */
    static sendHapticFeedback<TFallback = MiniAppSendHapticFeedbackPayload>(options: MiniKitSendHapticFeedbackOptions<TFallback>): Promise<CommandResultByVia<MiniAppSendHapticFeedbackSuccessPayload, TFallback, 'minikit'>>;
    /**
     * Request app attestation token for a request hash
     */
    static attestation<TFallback = MiniAppAttestationSuccessPayload>(options: MiniKitAttestationOptions<TFallback>): Promise<CommandResultByVia<MiniAppAttestationSuccessPayload, TFallback, 'minikit'>>;
    /**
     * Close the mini app
     */
    static closeMiniApp<TFallback = CloseMiniAppResult>(options?: MiniKitCloseMiniAppOptions<TFallback>): Promise<CommandResultByVia<CloseMiniAppResult, TFallback, 'minikit'>>;
    /**
     * Check if running inside World App
     */
    static isInWorldApp: typeof isInWorldApp;
    static get appId(): string | null;
    static set appId(value: string | null);
    static get user(): User;
    static set user(value: User);
    static get deviceProperties(): DeviceProperties;
    static get location(): MiniAppLaunchLocation | null;
    static subscribe<E extends ResponseEvent>(event: E, handler: (payload: any) => void): void;
    static unsubscribe(event: ResponseEvent): void;
    static trigger(event: ResponseEvent, payload: any): void;
    private static sendInit;
    static install(appId?: string): MiniKitInstallReturnType;
    static isInstalled(debug?: boolean): boolean;
    private static initFromWorldApp;
    private static updateUserFromWalletAuth;
    private static getContext;
    static getUserByAddress: (address?: string) => Promise<UserNameService>;
    static getUserByUsername: (username: string) => Promise<UserNameService>;
    static getUserInfo: (address?: string) => Promise<UserNameService>;
    static getMiniAppUrl: (appId: string, path?: string) => string;
    static showProfileCard: (username?: string, walletAddress?: string) => void;
    /**
     * @deprecated Use `MiniKit.pay()`, `MiniKit.walletAuth()`, etc. directly.
     *
     * Migration guide:
     * - `MiniKit.commands.pay(payload)` → `await MiniKit.pay(options)`
     * - `MiniKit.commands.walletAuth(payload)` → `await MiniKit.walletAuth(options)`
     * - `MiniKit.commands.sendTransaction(payload)` → `await MiniKit.sendTransaction(options)`
     * - `MiniKit.commands.signMessage(payload)` → `await MiniKit.signMessage(input)`
     * - `MiniKit.commands.signTypedData(payload)` → `await MiniKit.signTypedData(input)`
     * - `MiniKit.commands.shareContacts(payload)` → `await MiniKit.shareContacts(options)`
     * - `MiniKit.commands.chat(payload)` → `await MiniKit.chat(input)`
     * - `MiniKit.commands.share(payload)` → `await MiniKit.share(input)`
     * - `MiniKit.commands.getPermissions()` → `await MiniKit.getPermissions()`
     * - `MiniKit.commands.requestPermission(payload)` → `await MiniKit.requestPermission(input)`
     * - `MiniKit.commands.sendHapticFeedback(payload)` → `await MiniKit.sendHapticFeedback(input)`
     * - `MiniKit.commands.attestation(payload)` → `await MiniKit.attestation(options)`
     * - `MiniKit.commands.closeMiniApp()` → `await MiniKit.closeMiniApp()`
     */
    static get commands(): never;
    /**
     * @deprecated Use `MiniKit.pay()`, `MiniKit.walletAuth()`, etc. directly. All commands are now async by default.
     *
     * See `MiniKit.commands` deprecation notice for the full migration guide.
     */
    static get commandsAsync(): never;
}

export { MiniKit };
