import { Client, Address } from 'viem';
import { BigNumber, BigNumberSource } from '../utils/BigNumber.mjs';
import { KnownChainId, KnownTokenId } from '../utils/types/knownIds.mjs';
import { EVMAddress } from '../xlinkSdkUtils/types.mjs';
import { S as SDKGlobalContext } from '../types.internal-8d3OI2Qm.mjs';
import { EVMOnChainAddresses } from './evmContractAddresses.mjs';
import 'big.js';
import '../utils/typeHelpers.mjs';

declare const numberFromSolidityContractNumber: (num: bigint, decimals?: number) => BigNumber;
declare const numberToSolidityContractNumber: (num: BigNumberSource, decimals?: number) => bigint;
declare function getEVMContractCallInfo(sdkContext: SDKGlobalContext, chainId: KnownChainId.EVMChain): Promise<undefined | {
    client: Client;
    bridgeEndpointContractAddress: Address;
    nativeBridgeEndpointContractAddress?: Address;
    registryContractAddress?: Address;
    timeLockContractAddress?: Address;
}>;
declare function getEVMTokenContractInfo(sdkContext: SDKGlobalContext, chainId: KnownChainId.EVMChain, tokenId: KnownTokenId.EVMToken): Promise<undefined | {
    client: Client;
    tokenContractAddress: Address;
}>;
declare function getEVMToken(sdkContext: SDKGlobalContext, chain: KnownChainId.EVMChain, tokenAddress: EVMAddress): Promise<undefined | KnownTokenId.EVMToken>;
declare function getAllAddresses(sdkContext: SDKGlobalContext, chainId: KnownChainId.EVMChain): Promise<undefined | {
    client: Client;
    onChainAddresses?: EVMOnChainAddresses;
    localAddresses: EVMOnChainAddresses;
}>;

export { getAllAddresses, getEVMContractCallInfo, getEVMToken, getEVMTokenContractInfo, numberFromSolidityContractNumber, numberToSolidityContractNumber };
