import { Account, Address, Chain, ParseAccount, PublicClient, RpcSchema, TransactionRequest, Transport, WalletClient } from "viem";
import { KernelConfig } from "../types/dimo.js";
import { KernelAccountClient, KernelSmartAccount } from "@zerodev/sdk";
import { EntryPoint } from "permissionless/types";
import { SendDIMOTokens } from "../types/args.js";
import { GetUserOperationReceiptReturnType } from "permissionless";
export declare function sendDIMOTokensCallData(args: SendDIMOTokens, environment?: string): `0x${string}`;
export declare const sendDIMOTransaction: (args: SendDIMOTokens, subOrganizationId: string, walletAddress: string, passkeyStamper: any, config: KernelConfig) => Promise<GetUserOperationReceiptReturnType>;
export declare function sendDIMOTokens(args: SendDIMOTokens, client: KernelAccountClient<EntryPoint, Transport, Chain, KernelSmartAccount<EntryPoint, Transport, Chain>>, environment?: string): Promise<`0x${string}`>;
export declare function sendDIMOTokensFromAccount(args: SendDIMOTokens, walletClient: WalletClient<Transport, Chain, ParseAccount<Account | Address>, RpcSchema>, publicClient: PublicClient, environment?: string): Promise<`0x${string}`>;
export declare function sendDIMOTokensTransactionForSignature(args: SendDIMOTokens, publicClient: PublicClient, walletClient: WalletClient, senderAddress: `0x${string}`, environment?: string): Promise<TransactionRequest>;
