import { KERNEL_V2_VERSION_TYPE, KERNEL_V3_VERSION_TYPE } from "@zerodev/sdk/types";
import { Abi, Account } from "viem";
import { Chain } from "viem/chains";
export declare const SUPPORTED_CHAINS: Chain[];
export type KernelConfig = {
    rpcUrl: string;
    bundlerUrl: string;
    paymasterUrl: string;
    turnkeyApiBaseUrl?: string;
    entryPoint?: `0x${string}`;
    kernelVersion?: KERNEL_V3_VERSION_TYPE | KERNEL_V2_VERSION_TYPE;
    environment?: string;
    useWalletSession?: boolean;
    sessionTimeoutSeconds?: string;
};
export type _kernelConfig = {
    rpcUrl: string;
    bundlerUrl: string;
    paymasterUrl: string;
    turnkeyApiBaseUrl: string;
    entryPoint: `0x${string}`;
    kernelVersion: KERNEL_V3_VERSION_TYPE | KERNEL_V2_VERSION_TYPE;
    environment: string;
    useWalletSession: boolean;
    sessionTimeoutSeconds: string;
};
export type AccountConfig = {
    rpcUrl: string;
    account: Account;
    environment?: string;
};
export type _accountConfig = {
    rpcUrl: string;
    account: Account;
    environment: string;
};
export type PasskeySignerConfig = {
    rpcURL: string;
    bundlerUrl: string;
    paymasterUrl: string;
    turnkeyApiBaseUrl: string;
    entryPoint: `0x${string}`;
    kernelVersion: KERNEL_V3_VERSION_TYPE | KERNEL_V2_VERSION_TYPE;
    environment: string;
    subOrganizationId: string;
    walletAddress: string;
    rpId: string;
};
export declare enum ContractType {
    DIMO_CREDIT = 0,
    DIMO_REGISTRY = 1,
    DIMO_VEHICLE_ID = 2,
    DIMO_SACD = 3,
    DIMO_TOKEN = 4,
    DIMO_FORWARDER = 5
}
export declare enum SupportedNetworks {
    AMOY = 0,
    POLYGON = 1
}
export declare enum ENVIRONMENT {
    PROD = 0,
    DEV = 1
}
export declare enum DIMO_APIs {
    ATTESTATION = 0,
    AUTH = 1,
    IDENTITY = 2,
    DEVICES = 3,
    DEVICE_DATA = 4,
    DEVICE_DEFINITIONS = 5,
    EVENTS = 6,
    TELEMETRY = 7,
    TOKEN_EXCHANGE = 8,
    TRIPS = 9,
    USER = 10,
    VALUATIONS = 11,
    VEHICLE_SIGNAL_DECODING = 12
}
export type API_BY_ENV = {
    [key in ENVIRONMENT]: {
        [key in DIMO_APIs]: {
            url: string;
        };
    };
};
export type ApiInfos = {
    [key in ENVIRONMENT]: DIMO_APIs;
};
export type AllChainInfos = {
    [key in SupportedNetworks]: ChainInfos;
};
export type ChainInfos = {
    contracts: ContractToMapping;
};
export type ContractToMapping = {
    [key in ContractType]: AbiAddressPair;
};
export type AbiAddressPair = {
    abi: Abi;
    address: `0x${string}`;
};
