import { ethers } from "ethers";
/**
 * Get the current fee percentage of the vault
 * @param vaultContract - The vault contract instance
 * @returns The current fee percentage (in basis points, e.g. 100 = 1%)
 */
export declare function getCuratorFee(vaultContract: ethers.Contract): Promise<bigint>;
/**
 * Check if an address is the fee manager
 * @param vaultContract - The vault contract instance
 * @param address - Address to check
 * @returns True if the address is the fee manager
 */
export declare function isFeeManager(vaultContract: ethers.Contract, address: string): Promise<boolean>;
/**
 * Get the available unclaimed fees for the vault
 * @param vaultContract - The vault contract instance
 * @returns The amount of unclaimed fees
 */
export declare function getUnclaimedFees(vaultContract: ethers.Contract): Promise<bigint>;
/**
 * Set the fee percentage for the vault
 * @param signer - Ethereum signer (must be the fee manager)
 * @param vaultContract - The vault contract connected to signer
 * @param newFee - New fee (in basis points, e.g. 100 = 1%)
 * @returns Transaction response
 */
export declare function setVaultFeePercentage(vaultContract: ethers.Contract, newFee: bigint): Promise<ethers.TransactionResponse>;
/**
 * Claim the accumulated fees from the vault
 * @param signer - Ethereum signer (must be the fee claimer)
 * @param vaultContract - The vault contract connected to signer
 * @returns Transaction response
 */
export declare function claimVaultFees(vaultContract: ethers.Contract): Promise<ethers.TransactionResponse>;
/**
 * Transfer the fee 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 fee manager
 * @returns Transaction response
 */
export declare function transferFeeManagerRole(signer: ethers.Signer, vaultContract: ethers.Contract, newManagerAddress: string): Promise<ethers.TransactionResponse>;
