import type { RoundingDirection } from "../math/index.js"; import type { Address, BigIntish } from "../types.js"; import type { IVaultConfig } from "../vault/VaultConfig.js"; import { WrappedToken } from "./WrappedToken.js"; export interface IVaultToken { totalAssets: bigint; totalSupply: bigint; } export declare class VaultToken extends WrappedToken implements IVaultToken { readonly asset: Address; readonly decimalsOffset: bigint; /** * The ERC4626 vault's total supply of shares. */ totalSupply: bigint; /** * The ERC4626 vault's total assets. */ totalAssets: bigint; constructor(config: IVaultConfig, { totalAssets, totalSupply }: IVaultToken); protected _wrap(amount: BigIntish, rounding: RoundingDirection): bigint; protected _unwrap(amount: BigIntish, rounding: RoundingDirection): bigint; }