import { Account, Address, Chain, ParseAccount, PublicClient, RpcSchema, Transport, WalletClient } from "viem";
import { KernelConfig } from "../types/dimo.js";
import { KernelAccountClient, KernelSmartAccount } from "@zerodev/sdk";
import { EntryPoint } from "permissionless/types";
import { MintVehicleWithDeviceDefinition } from "../types/args.js";
import { GetUserOperationReceiptReturnType } from "permissionless";
export declare function mintVehicleCallData(args: MintVehicleWithDeviceDefinition, environment?: string): `0x${string}`;
export declare const mintVehicleTransaction: (args: MintVehicleWithDeviceDefinition, subOrganizationId: string, walletAddress: string, passkeyStamper: any, config: KernelConfig) => Promise<GetUserOperationReceiptReturnType>;
export declare const mintVehicleWithDeviceDefinition: (args: MintVehicleWithDeviceDefinition, client: KernelAccountClient<EntryPoint, Transport, Chain, KernelSmartAccount<EntryPoint, Transport, Chain>>, environment?: string) => Promise<`0x${string}`>;
export declare const mintVehicleWithDeviceDefinitionBatch: (args: MintVehicleWithDeviceDefinition[], client: KernelAccountClient<EntryPoint, Transport, Chain, KernelSmartAccount<EntryPoint, Transport, Chain>>, environment?: string) => Promise<`0x${string}`>;
export declare const mintVehicleWithDeviceDefinitionFromAccount: (args: MintVehicleWithDeviceDefinition, walletClient: WalletClient<Transport, Chain, ParseAccount<Account | Address>, RpcSchema>, publicClient: PublicClient, environment?: string) => Promise<`0x${string}`>;
