import { type GetContractReturnType, type Address, type WalletClient } from 'viem';
import { TransactionResult } from '../core/index.js';
import { BatchSharesToStethValue, SharesTotalSupplyResult, SharesTransferProps } from './types.js';
import { stethSharesAbi } from './abi/steth-shares-abi.js';
import type { AccountValue, EtherValue, NoTxOptions } from '../core/types.js';
import { LidoSDKModule } from '../common/class-primitives/sdk-module.js';
export declare class LidoSDKShares extends LidoSDKModule {
static readonly PRECISION: bigint;
contractAddressStETH(): Promise
;
getContractStETHshares(): Promise>;
balance(address?: AccountValue): Promise;
transfer({ account: accountProp, to, amount: _amount, callback, from: _from, ...rest }: SharesTransferProps): Promise;
populateTransfer({ account: accountProp, to, amount: _amount, from: _from, }: NoTxOptions): Promise<{
to: `0x${string}`;
from: `0x${string}`;
data: `0x${string}`;
}>;
simulateTransfer({ account: _account, to, amount: _amount, from: _from, }: NoTxOptions): Promise | import("viem").SimulateContractReturnType>;
convertToShares(stethAmount: EtherValue): Promise;
convertToSteth(sharesAmount: EtherValue): Promise;
convertBatchSharesToSteth(sharesAmounts: BatchSharesToStethValue[], shareRateValues?: SharesTotalSupplyResult): Promise;
convertBatchStethToShares(stethAmounts: EtherValue[], shareRateValues?: SharesTotalSupplyResult): Promise;
/**
* Off-chain replica of StETH.getSharesByPooledEth from contracts/0.4.24/StETH.sol.
*/
getSharesByPooledEth(stethAmount: bigint, shareRateValues?: SharesTotalSupplyResult): Promise;
/**
* Off-chain replica of StETH.getPooledEthByShares from contracts/0.4.24/StETH.sol.
*/
getPooledEthByShares(sharesAmount: bigint, shareRateValues?: SharesTotalSupplyResult): Promise;
/**
* Off-chain replica of StETH.getPooledEthBySharesRoundUp from contracts/0.4.24/StETH.sol.
*/
getPooledEthBySharesRoundUp(sharesAmount: bigint, shareRateValues?: SharesTotalSupplyResult): Promise;
getTotalSupply(): Promise;
getShareRate(): Promise;
}
//# sourceMappingURL=shares.d.ts.map