import { type AbiEventName, type AbiFunctionName, type Address, type DecodedAbiFunctionOutputs, type DecodedEvent, type DecodedTransaction, type DecodeEventParams, type DecodeTransactionParams, type FullContractState, type ProviderRpcClient, type Transaction } from 'everscale-inpage-provider';
import { type TonNativeProxyV2Abi } from '../../models/ton-native-proxy/abi';
export type TonNativeProxyV2TvmTokenFeeDetails = DecodedAbiFunctionOutputs<typeof TonNativeProxyV2Abi, 'getTvmTokenFee'>;
export type TonNativeProxyV2Configurations = DecodedAbiFunctionOutputs<typeof TonNativeProxyV2Abi, 'getConfiguration'>;
export type TonNativeProxyV2DecodedEvent = DecodedEvent<typeof TonNativeProxyV2Abi, AbiEventName<typeof TonNativeProxyV2Abi>>;
export type TonNativeProxyV2DecodedTransaction = DecodedTransaction<typeof TonNativeProxyV2Abi, AbiFunctionName<typeof TonNativeProxyV2Abi>>;
export declare abstract class TonNativeProxyV2Utils {
    static getExpectedTokenFeeAddress(connection: ProviderRpcClient, proxyAddress: Address | string, tokenAddress: Address | string, cachedState?: FullContractState): Promise<Address>;
    static getTvmTokenFee(connection: ProviderRpcClient, proxyAddress: Address | string, tokenAddress: Address | string, cachedState?: FullContractState): Promise<TonNativeProxyV2TvmTokenFeeDetails>;
    static getConfiguration(connection: ProviderRpcClient, proxyAddress: Address | string, cachedState?: FullContractState): Promise<TonNativeProxyV2Configurations>;
    static getTonEvmConfiguration(connection: ProviderRpcClient, proxyAddress: Address | string, cachedState?: FullContractState): Promise<Address>;
    static getDexMiddleware(connection: ProviderRpcClient, proxyAddress: Address | string, cachedState?: FullContractState): Promise<Address>;
    static decodeEvent(connection: ProviderRpcClient, proxyAddress: Address | string, args: DecodeEventParams<typeof TonNativeProxyV2Abi>): Promise<TonNativeProxyV2DecodedEvent | undefined>;
    static decodeTransaction(connection: ProviderRpcClient, proxyAddress: Address | string, args: DecodeTransactionParams<typeof TonNativeProxyV2Abi>): Promise<TonNativeProxyV2DecodedTransaction | undefined>;
    static decodeTransactionEvents(connection: ProviderRpcClient, proxyAddress: Address | string, transaction: Transaction): Promise<TonNativeProxyV2DecodedEvent[]>;
}
