import { ContractTransaction, Overrides } from '@ethersproject/contracts';
import { JsonRpcProvider } from '@ethersproject/providers';
import { BigNumber } from 'ethers';
export declare function approveVaultToken(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, shares?: string | number | BigNumber, overrides?: Overrides): Promise<ContractTransaction>;
export declare function isVaultTokenApproved(accountAddress: string, shares: string | number | BigNumber, vaultAddress: string, jsonProvider: JsonRpcProvider): Promise<boolean>;
export declare function withdraw(accountAddress: string, shares: string | number | BigNumber, vaultAddress: string, jsonProvider: JsonRpcProvider, overrides?: Overrides): Promise<ContractTransaction>;
export declare function withdrawWithSlippage(accountAddress: string, shares: string | number | BigNumber, vaultAddress: string, jsonProvider: JsonRpcProvider, percentSlippage?: number, overrides?: Overrides): Promise<ContractTransaction>;
export declare function withdrawNativeToken(accountAddress: string, shares: string | number | BigNumber, vaultAddress: string, jsonProvider: JsonRpcProvider, percentSlippage?: number, overrides?: Overrides): Promise<ContractTransaction>;
