import type { Address, GetContractReturnType, WalletClient } from 'viem'; import { CommonTransactionProps, PopulatedTransaction, TransactionResult } from '../core/types.js'; import { BusModule } from './bus-module.js'; import { BurnProps, BurnSharesProps, FundPros, GetLatestVaultReportProps, GetVaultRoleMembersProps, LidoSDKVaultsModuleProps, MintProps, MintSharesProps, PopulateProps, SetRolesProps, VaultSubmitReportProps, WithdrawProps } from './types.js'; import { EncodableContract } from '../common/index.js'; import { DashboardAbi, StakingVaultAbi } from './abi/index.js'; import { OverviewArgs, GetVaultOverviewDataProps, VaultOverviewData } from './utils/overview/types.js'; import { CalculateHealthArgs } from './utils/overview/calculate-health.js'; type LidoSDKVaultEntityProps = LidoSDKVaultsModuleProps & { dashboardAddress?: Address; vaultAddress: Address; skipDashboardCheck?: boolean; }; export declare class LidoSDKVaultEntity extends BusModule { private dashboardAddress?; private readonly vaultAddress; private readonly skipDashboardCheck; constructor(props: LidoSDKVaultEntityProps); private parseProps; getVaultContract(): Promise>>; getDashboardContract(): Promise>>; getVaultAddress(): Address; getDashboardAddress(): Promise
; fund(props: FundPros): Promise; fundPopulateTx(props: FundPros): Promise; fundSimulateTx(props: FundPros): Promise>; withdraw(props: WithdrawProps): Promise>; withdrawSimulateTx(props: WithdrawProps): Promise>; withdrawPopulateTx(props: WithdrawProps): Promise; mintShares(props: MintSharesProps): Promise>; mintSharesSimulateTx(props: MintSharesProps): Promise>; mintSharesPopulateTx(props: MintSharesProps): Promise<{ from: `0x${string}`; to: `0x${string}`; data: `0x${string}`; }>; mint(props: MintProps): Promise>; mintSimulateTx(props: MintProps): Promise | import("viem").SimulateContractReturnType>; private _validateToken; mintPopulateTx(props: MintProps): Promise<{ from: `0x${string}`; to: `0x${string}`; data: `0x${string}`; }>; private _mintStETH; private _mintStETHSimulateTx; private _mintWstETH; private _mintWstETHSimulateTx; burnShares(props: BurnSharesProps): Promise>; burnSharesSimulateTx(props: BurnSharesProps): Promise>; burnSharesPopulateTx(props: BurnSharesProps): Promise<{ from: `0x${string}`; to: `0x${string}`; data: `0x${string}`; }>; approve(props: PopulateProps): Promise; private _validateAllowance; burn(props: BurnProps): Promise>; private _burnStETH; private _burnWstETH; burnSimulateTx(props: BurnProps): Promise | import("viem").SimulateContractReturnType>; private _burnStETHSimulateTx; private _burnWstETHSimulateTx; burnPopulateTx(props: BurnProps): Promise<{ from: `0x${string}`; to: `0x${string}`; data: `0x${string}`; }>; private _validateRoles; grantRoles(props: SetRolesProps): Promise>; grantRolesSimulateTx(props: SetRolesProps): Promise>; grantRolesPopulateTx(props: SetRolesProps): Promise<{ from: `0x${string}`; to: `0x${string}`; data: `0x${string}`; }>; revokeRoles(props: SetRolesProps): Promise>; revokeRolesSimulateTx(props: SetRolesProps): Promise>; revokeRolesPopulateTx(props: SetRolesProps): Promise<{ from: `0x${string}`; to: `0x${string}`; data: `0x${string}`; }>; disburseNodeOperatorFee(props: CommonTransactionProps): Promise>; disburseNodeOperatorFeeSimulateTx(props: CommonTransactionProps): Promise>; disburseNodeOperatorFeePopulateTx(props: CommonTransactionProps): Promise<{ from: `0x${string}`; to: `0x${string}`; data: `0x${string}`; }>; submitLatestReport(props: VaultSubmitReportProps): Promise>; submitLatestReportSimulateTx(props: VaultSubmitReportProps): Promise>; submitLatestReportPopulateTx(props: VaultSubmitReportProps): Promise<{ from: `0x${string}`; to: `0x${string}`; data: `0x${string}`; }>; getRoleMembers(props: GetVaultRoleMembersProps): Promise; private isDashboard; getLatestReport(props?: GetLatestVaultReportProps): Promise<{ report: import("./types.js").VaultReport | null; isReportAvailable: boolean; }>; getVaultOverviewData(props: GetVaultOverviewDataProps): Promise; calculateOverview(args: OverviewArgs): { healthRatio: number; isHealthy: boolean; availableToWithdrawal: bigint; idleCapital: bigint; totalLocked: bigint; collateral: bigint; recentlyRepaid: bigint; utilizationRatio: number; reserved: bigint; totalMintingCapacityStethWei: bigint; }; calculateHealth(props: CalculateHealthArgs): { healthRatio: number; isHealthy: boolean; }; } export {}; //# sourceMappingURL=vault-entity.d.ts.map