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 { TransferVehicleAndAftermarketDeviceIDs } from "../types/args.js";
import { GetUserOperationReceiptReturnType } from "permissionless";
export declare function transferVehicleAndAftermarketDeviceIDsCallData(args: TransferVehicleAndAftermarketDeviceIDs, environment?: string): `0x${string}`;
export declare const transferVehicleAndAftermarketDeviceIDsTransaction: (args: TransferVehicleAndAftermarketDeviceIDs, subOrganizationId: string, walletAddress: string, passkeyStamper: any, config: KernelConfig) => Promise<GetUserOperationReceiptReturnType>;
export declare const transferVehicleAndAftermarketDeviceIDs: (args: TransferVehicleAndAftermarketDeviceIDs, client: KernelAccountClient<EntryPoint, Transport, Chain, KernelSmartAccount<EntryPoint, Transport, Chain>>, environment?: string) => Promise<`0x${string}`>;
export declare function transferVehicleAndAftermarketDeviceIDsFromAccount(args: TransferVehicleAndAftermarketDeviceIDs, walletClient: WalletClient<Transport, Chain, ParseAccount<Account | Address>, RpcSchema>, publicClient: PublicClient, environment?: string): Promise<`0x${string}`>;
export declare function transferVehiclesAndAftermarketDevicesForSignature(args: TransferVehicleAndAftermarketDeviceIDs, publicClient: PublicClient, walletClient: WalletClient, senderAddress: `0x${string}`, environment?: string): Promise<TransactionRequest>;
export declare const transferAllTypeHash: (args: TransferVehicleAndAftermarketDeviceIDs, environment?: string) => {
    hash: string;
    payload: {
        domain: {
            name: string;
            version: string;
            chainId: number;
            verifyingContract: `0x${string}`;
        };
        types: {
            TransferVehicleAndAftermarketDeviceIds: {
                name: string;
                type: string;
            }[];
        };
        message: {
            vehicleIds: BigInt[];
            aftermarketDeviceIds: BigInt[];
            to: `0x${string}`;
        };
    };
};
