import { type Address, type Client, type GetContractReturnType, type PublicClient } from 'viem'; import { multiDepositorVaultAbi } from './abis/multiDepositorVault'; import { ContractVersion, type EvmVaultDeployment } from './types'; export interface AeraRuntimeContracts { provisioner: { address: Address; version: ContractVersion; }; feeCalculator: { address: Address; version: ContractVersion; }; } export interface AeraTokenModeSupport { asyncDeposit: boolean; asyncRedeem: boolean; syncDeposit: boolean; syncRedeem: boolean; } export declare function requireAeraSyncRedeemRuntime(runtime: AeraRuntimeContracts): void; export type AeraReadOptions = { blockNumber?: bigint; }; export declare function applySlippageDown(amount: bigint, slippageBps: number): bigint; export declare function applySlippageUp(amount: bigint, slippageBps: number): bigint; export type MultiDepositorVaultContract = GetContractReturnType; export declare function getMultiDepositorVault(client: T, vaultAddress: Address): MultiDepositorVaultContract; export declare function resolveContractVersion(client: PublicClient, address: Address, options?: AeraReadOptions): Promise; export declare function resolveAeraRuntimeContracts(client: PublicClient, vault: EvmVaultDeployment, options?: AeraReadOptions): Promise; export declare function resolveAeraTokenModeSupport(client: PublicClient, runtime: AeraRuntimeContracts, token: Address, options?: AeraReadOptions & { includeSyncModes?: boolean; }): Promise; //# sourceMappingURL=aeraContracts.d.ts.map