import { AccountConfig, ContractToMapping, _accountConfig } from "./core/types/dimo.js";
import { Account, Address, Chain, ParseAccount, PublicClient, RpcSchema, Transport, WalletClient } from "viem";
import { MintVehicleWithDeviceDefinition, SendDIMOTokens, TransferVehicleAndAftermarketDeviceIDs } from "./core/types/args.js";
export declare class AccountSigner {
    config: _accountConfig;
    chain: Chain;
    contractMapping: ContractToMapping;
    address: `0x${string}`;
    account: Account;
    publicClient: PublicClient;
    walletClient: WalletClient<Transport, Chain, ParseAccount<Account | Address>, RpcSchema>;
    constructor(config: AccountConfig);
    sendDIMOTokens(args: SendDIMOTokens): Promise<`0x${string}`>;
    transferVehicleAndAftermarketDevices(args: TransferVehicleAndAftermarketDeviceIDs): Promise<`0x${string}`>;
    transferVehicleID(args: {
        from: `0x${string}`;
        to: `0x${string}`;
        vehicleId: BigInt;
    }): Promise<`0x${string}`>;
    mintVehicleWithDeviceDefinition(args: MintVehicleWithDeviceDefinition): Promise<`0x${string}`>;
}
