import { ethers } from "ethers";
/**
 * Get the deposit limit of the vault
 * @param vaultContract - The vault contract instance
 * @returns The deposit limit value
 */
export declare function getVaultDepositLimit(vaultContract: ethers.Contract): Promise<bigint>;
/**
 * Check if the vault has a deposit limit enabled
 * @param vaultContract - The vault contract instance
 * @returns True if the vault has a deposit limit
 */
export declare function isDepositLimitEnabled(vaultContract: ethers.Contract): Promise<boolean>;
/**
 * Check if an address is the limit manager
 * @param vaultContract - The vault contract instance
 * @param address - Address to check
 * @returns True if the address is the limit manager
 */
/**
 * Set the deposit limit for the vault
 * @param signer - Ethereum signer (must be the limit manager)
 * @param vaultContract - The vault contract connected to signer
 * @param limit - New deposit limit value
 * @returns Transaction response
 */
export declare function setVaultDepositLimit(signer: ethers.Signer, vaultContract: ethers.Contract, limit: bigint): Promise<ethers.TransactionResponse>;
/**
 * Enable or disable deposit limits for the vault
 * @param signer - Ethereum signer (must be the limit manager)
 * @param vaultContract - The vault contract connected to signer
 * @param enabled - Whether deposit limits should be enabled (true) or disabled (false)
 * @returns Transaction response
 */
export declare function setDepositLimitStatus(signer: ethers.Signer, vaultContract: ethers.Contract, enabled: boolean): Promise<ethers.TransactionResponse>;
/**
 * Transfer the limit manager role to a new address
 * @param signer - Ethereum signer (must be the role admin)
 * @param vaultContract - The vault contract connected to signer
 * @param newManagerAddress - Address of the new limit manager
 * @returns Transaction response
 */
export declare function transferLimitManagerRole(signer: ethers.Signer, vaultContract: ethers.Contract, newManagerAddress: string): Promise<ethers.TransactionResponse>;
