import { ExecutionInstructions, PriceQuote } from '@catalabs/catalyst-api-client';
import { EvmSDKV5 } from '../evm-sdk-v5';
import { SdkResult, SendAssetOptions } from '../interfaces';
import { DeployVaultOptions } from '../interfaces/deploy-vault-options.interface';
import { SdkResponse } from '../interfaces/sdk-response.interface';
import { IVaultsModule } from '../interfaces/vaults-module.interface';
import { TransactionOptions } from '../types/transaction-options';
export declare class EvmVaultsModuleV5 implements IVaultsModule {
    private sdk;
    constructor(sdk: EvmSDKV5);
    deployVault({ vaultType, assets, initialBalances, weights, amplification, vaultFee, name, symbol, chainInterface, }: DeployVaultOptions): Promise<SdkResult<string>>;
    setConnection(vault: string, toVault: string, channelId: string, isActive: boolean): Promise<SdkResponse>;
    finishSetup(vault: string): Promise<SdkResponse>;
    sendAssetWithRouter(instructions: ExecutionInstructions, gasAmount?: bigint, options?: TransactionOptions): Promise<SdkResponse>;
    estimateGasForExecuteInstructions(instructions: ExecutionInstructions, gasAmount?: bigint, options?: TransactionOptions): Promise<bigint>;
    sendAssetWithRouterFromQuote(quote: PriceQuote): Promise<SdkResponse>;
    sendAsset({ vault, channelId, toVault, toAccount, fromAsset, toAssetIndex, amount, minOut, fallbackUser, callData, }: SendAssetOptions): Promise<SdkResponse>;
    sendAssetFromQuote({ vault, fromAsset, amount, toAssetIndex, toVault, minOut, channelId, }: PriceQuote, toAccount: string, fallbackUser: string, callData?: string): Promise<SdkResponse>;
    calcSendAsset(vault: string, from: string, amount: bigint): Promise<bigint>;
    calcReceiveAsset(vault: string, to: string, units: bigint): Promise<bigint>;
    depositMixed(vault: string, tokenAmounts: bigint[], minOut: bigint): Promise<SdkResponse>;
    withdrawAll(vault: string, poolTokens: bigint, minOut: bigint[]): Promise<SdkResponse>;
    withdrawMixed(vault: string, poolTokens: bigint, withdrawRatio: bigint[], minOut: bigint[]): Promise<SdkResponse>;
    getUnitCapacity(vault: string): Promise<bigint>;
}
//# sourceMappingURL=evm-vaults.module-v5.d.ts.map