import { type GetContractReturnType, type WalletClient, type Address, Hash } from 'viem';
import { AbstractLidoSDKErc20 } from '../erc20/erc20.js';
import { rebasableL2StethAbi } from './abi/rebasableL2Steth.js';
import { bridgedWstethAbi } from './abi/brigedWsteth.js';
import type { AccountValue, EtherValue, NoTxOptions, TransactionResult } from '../core/types.js';
import type { SharesTransferProps } from './types.js';
export declare class LidoSDKL2Wsteth extends AbstractLidoSDKErc20 {
contractAddress(): Promise
;
getL2Contract(): Promise>;
erc721Domain(): Promise<{
name: string;
version: string;
chainId: bigint;
verifyingContract: Address;
fields: Hash;
salt: Hash;
extensions: readonly bigint[];
}>;
}
export declare class LidoSDKL2Steth extends AbstractLidoSDKErc20 {
contractAddress(): Promise;
getL2Contract(): Promise>;
erc721Domain(): Promise<{
name: string;
version: string;
chainId: bigint;
verifyingContract: Address;
fields: Hash;
salt: Hash;
extensions: readonly bigint[];
}>;
balanceShares(address?: AccountValue): Promise;
convertToShares(stethAmount: EtherValue): Promise;
convertToSteth(sharesAmount: EtherValue): Promise;
totalShares(): Promise;
transferShares({ account: accountProp, to, amount: _amount, callback, from: _from, ...rest }: SharesTransferProps): Promise;
populateTransferShares({ account: accountProp, to, amount: _amount, from: _from, }: NoTxOptions): Promise<{
to: `0x${string}`;
from: `0x${string}`;
data: `0x${string}`;
}>;
simulateTransferShares({ account: _account, to, amount: _amount, from: _from, }: NoTxOptions): Promise | import("viem").SimulateContractReturnType>;
}
//# sourceMappingURL=tokens.d.ts.map