import { type Address, type GetContractReturnType, type WalletClient, type FormattedTransactionRequest, type WriteContractParameters } from 'viem';
import { AccountValue, EtherValue, PopulatedTransaction, TransactionOptions, TransactionResult } from '../core/types.js';
import type { WrapProps, WrapPropsWithoutCallback, WrapResults, UnwrapResults } from './types.js';
import { abi } from './abi/wsteth.js';
import { LidoSDKModule } from '../common/class-primitives/sdk-module.js';
export declare class LidoSDKWrap extends LidoSDKModule {
    private static TRANSFER_SIGNATURE;
    contractAddressWstETH(): Promise<Address>;
    getContractWstETH(): Promise<GetContractReturnType<typeof abi, WalletClient>>;
    private getPartialContractSteth;
    wrapEth(props: WrapProps): Promise<TransactionResult<WrapResults>>;
    wrapEthPopulateTx(props: WrapPropsWithoutCallback): Promise<PopulatedTransaction>;
    wrapEthEstimateGas(props: WrapPropsWithoutCallback, options?: TransactionOptions): Promise<bigint>;
    wrapSteth(props: WrapProps): Promise<TransactionResult<WrapResults>>;
    wrapStethEstimateGas(props: WrapPropsWithoutCallback, options?: TransactionOptions): Promise<bigint>;
    wrapStethPopulateTx(props: WrapPropsWithoutCallback): Promise<PopulatedTransaction>;
    wrapStethSimulateTx(props: WrapPropsWithoutCallback): Promise<WriteContractParameters>;
    approveStethForWrap(props: WrapProps): Promise<TransactionResult>;
    getStethForWrapAllowance(account?: AccountValue): Promise<bigint>;
    approveStethForWrapPopulateTx(props: WrapPropsWithoutCallback): Promise<Omit<FormattedTransactionRequest, 'type'>>;
    approveStethForWrapEstimateGas(props: WrapPropsWithoutCallback, options?: TransactionOptions): Promise<bigint>;
    approveStethForWrapSimulateTx(props: WrapPropsWithoutCallback): Promise<WriteContractParameters>;
    unwrap(props: WrapProps): Promise<TransactionResult<UnwrapResults>>;
    unwrapPopulateTx(props: Omit<WrapProps, 'callback'>): Promise<PopulatedTransaction>;
    unwrapEstimateGas(props: Omit<WrapProps, 'callback'>, options?: TransactionOptions): Promise<bigint>;
    unwrapSimulateTx(props: Omit<WrapProps, 'callback'>): Promise<WriteContractParameters>;
    convertStethToWsteth(steth_value: EtherValue): Promise<bigint>;
    convertWstethToSteth(wsteth_value: EtherValue): Promise<bigint>;
    private validateStakeLimit;
    private parseProps;
    private wrapParseEvents;
    private unwrapParseEvents;
}
//# sourceMappingURL=wrap.d.ts.map