import type { Address, Prettify } from "viem";
import type { MultichainSmartAccount } from "../account/toMultiChainNexusAccount";
import { type HttpClient, type Url } from "./createHttpClient";
import { type GetInfoPayload } from "./decorators/mee";
export declare const DEFAULT_MEE_NODE_URL = "https://mee-node.biconomy.io/v1";
/**
  const STAKEPOOL_MEE_NODE_URL = "https://mainnet.mee.stakepool.dev.br/v3"
*/
/**
 * Default URL for the MEE node service
 */
export declare const DEFAULT_PATHFINDER_URL = "https://network.biconomy.io/v1";
export declare const DEFAULT_STAGING_PATHFINDER_URL = "https://staging-network.biconomy.io/v1";
/**
 * Constants for sponshorshipxw
 */
export declare const DEFAULT_MEE_SPONSORSHIP_PAYMASTER_ACCOUNT: Address;
export declare const DEFAULT_MEE_SPONSORSHIP_CHAIN_ID = 8453;
export declare const DEFAULT_MEE_SPONSORSHIP_TOKEN_ADDRESS: Address;
export declare const DEFAULT_MEE_TESTNET_SPONSORSHIP_PAYMASTER_ACCOUNT: Address;
export declare const DEFAULT_MEE_TESTNET_SPONSORSHIP_CHAIN_ID = 84532;
export declare const DEFAULT_MEE_TESTNET_SPONSORSHIP_TOKEN_ADDRESS: Address;
/**
 * Parameters for creating a Mee client
 */
export type CreateMeeClientParams = {
    /** URL for the MEE node service */
    url?: Url;
    /** Polling interval for the Mee client */
    pollingInterval?: number;
    /** Account to use for the Mee client */
    account: MultichainSmartAccount;
    /** Auth key for the Mee client */
    apiKey?: string;
};
export type BaseMeeClient = Prettify<HttpClient & {
    pollingInterval: number;
    account: MultichainSmartAccount;
    info: GetInfoPayload;
}>;
export type MeeClient = Awaited<ReturnType<typeof createMeeClient>>;
export declare const createMeeClient: (params: CreateMeeClientParams) => Promise<import("./decorators/mee").MeeActions & {
    request: <T>(params: {
        path: string;
        method?: "GET" | "POST";
        body?: object;
        params?: Record<string, string>;
        headers?: Record<string, string>;
    }) => Promise<T>;
    extend: <const client extends {
        [x: string]: unknown;
        request?: undefined;
        extend?: undefined;
    }, const extendedHttpClient extends HttpClient>(fn: (base: extendedHttpClient) => client) => client & extendedHttpClient;
    pollingInterval: number;
    account: MultichainSmartAccount;
    info: GetInfoPayload;
}>;
//# sourceMappingURL=createMeeClient.d.ts.map