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 TonNativeProxyV3Abi } from '../../models/ton-native-proxy/abi';
export interface TonNativeProxyV3DailyLimits {
    dailyIncomingVolume: string;
    dailyOutgoingVolume: string;
    dayStartTimestamp: number;
    incomingLimit: string | null;
    outgoingLimit: string | null;
}
export type TonNativeProxyV3TvmTokenFee = DecodedAbiFunctionOutputs<typeof TonNativeProxyV3Abi, 'getTvmTokenFee'>;
export type TonNativeProxyV3TvmDefaultFee = DecodedAbiFunctionOutputs<typeof TonNativeProxyV3Abi, 'getTvmDefaultFee'>;
export type TonNativeProxyV3TvmFees = Map<string, {
    incoming: string;
    outgoing: string;
}>;
export type TonNativeProxyV3Configurations = DecodedAbiFunctionOutputs<typeof TonNativeProxyV3Abi, 'getConfiguration'>;
export type TonNativeProxyV3DecodedEvent = DecodedEvent<typeof TonNativeProxyV3Abi, AbiEventName<typeof TonNativeProxyV3Abi>>;
export type TonNativeProxyV3DecodedTransaction = DecodedTransaction<typeof TonNativeProxyV3Abi, AbiFunctionName<typeof TonNativeProxyV3Abi>>;
export declare abstract class TonNativeProxyV3Utils {
    static getExpectedTokenFeeAddress(connection: ProviderRpcClient, proxyAddress: Address | string, tokenAddress: Address | string, cachedState?: FullContractState): Promise<Address>;
    static getDailyLimits(connection: ProviderRpcClient, proxyAddress: Address | string, tokenAddress: Address | string, cachedState?: FullContractState): Promise<TonNativeProxyV3DailyLimits>;
    static getTvmDefaultFee(connection: ProviderRpcClient, proxyAddress: Address | string, cachedState?: FullContractState): Promise<TonNativeProxyV3TvmDefaultFee>;
    static getTvmFees(connection: ProviderRpcClient, proxyAddress: Address | string, cachedState?: FullContractState): Promise<TonNativeProxyV3TvmFees>;
    static getTvmTokenFee(connection: ProviderRpcClient, proxyAddress: Address | string, tokenAddress: Address | string, cachedState?: FullContractState): Promise<TonNativeProxyV3TvmTokenFee>;
    static getConfiguration(connection: ProviderRpcClient, proxyAddress: Address | string, cachedState?: FullContractState): Promise<TonNativeProxyV3Configurations>;
    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 TonNativeProxyV3Abi>): Promise<TonNativeProxyV3DecodedEvent | undefined>;
    static decodeTransaction(connection: ProviderRpcClient, proxyAddress: Address | string, args: DecodeTransactionParams<typeof TonNativeProxyV3Abi>): Promise<TonNativeProxyV3DecodedTransaction | undefined>;
    static decodeTransactionEvents(connection: ProviderRpcClient, proxyAddress: Address | string, transaction: Transaction): Promise<TonNativeProxyV3DecodedEvent[]>;
}
