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 TonNativeProxyV1Abi } from '../../models/ton-native-proxy/abi';
export type TonNativeProxyConfigurations = DecodedAbiFunctionOutputs<typeof TonNativeProxyV1Abi, 'getConfiguration'>;
export type TonNativeProxyV1DecodedEvent = DecodedEvent<typeof TonNativeProxyV1Abi, AbiEventName<typeof TonNativeProxyV1Abi>>;
export type TonNativeProxyV1DecodedTransaction = DecodedTransaction<typeof TonNativeProxyV1Abi, AbiFunctionName<typeof TonNativeProxyV1Abi>>;
export declare abstract class TonNativeProxyV1Utils {
    static getConfiguration(connection: ProviderRpcClient, proxyAddress: Address | string, cachedState?: FullContractState): Promise<TonNativeProxyConfigurations>;
    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, eventConfigurationAddress: Address | string, args: DecodeEventParams<typeof TonNativeProxyV1Abi>): Promise<TonNativeProxyV1DecodedEvent | undefined>;
    static decodeTransaction(connection: ProviderRpcClient, eventConfigurationAddress: Address | string, args: DecodeTransactionParams<typeof TonNativeProxyV1Abi>): Promise<TonNativeProxyV1DecodedTransaction | undefined>;
    static decodeTransactionEvents(connection: ProviderRpcClient, eventConfigurationAddress: Address | string, transaction: Transaction): Promise<TonNativeProxyV1DecodedEvent[]>;
}
