import { AbstractStore } from '@broxus/js-core';
import type Web3 from 'web3';
import { type EvmMultiVaultDepositAbiParams, type EvmMultiVaultFees, type EvmMultiVaultTokenMeta, type EvmMultiVaultWithdrawalLimits, EvmMultiVaultUtils } from '../../models/evm-multi-vault/EvmMultiVaultUtils';
export declare class EvmMultiVault extends AbstractStore {
    protected readonly _connection: Web3;
    private readonly _address;
    protected readonly _provider?: Web3 | undefined;
    static Utils: typeof EvmMultiVaultUtils;
    constructor(_connection: Web3, _address: string, _provider?: Web3 | undefined);
    deposit(params: EvmMultiVaultDepositAbiParams): Promise<any>;
    getAlienFees(): Promise<EvmMultiVaultFees>;
    getNativeFees(): Promise<EvmMultiVaultFees>;
    getNativeToken(tokenAddress: string): Promise<string>;
    natives(tokenAddress: string): Promise<string | undefined>;
    tokens(tokenAddress: string): Promise<EvmMultiVaultTokenMeta>;
    withdrawalLimits(tokenAddress: string): Promise<EvmMultiVaultWithdrawalLimits>;
    get address(): string;
}
