import { LidoSDKModule } from '../common/class-primitives/sdk-module.js';
import type { AccountValue, LidoSDKCommonProps, TransactionOptions } from '../core/types.js';
import { LidoSDKL2Steth, LidoSDKL2Wsteth } from './tokens.js';
import { type Address, type WriteContractParameters } from 'viem';
import { CHAINS, LIDO_L2_CONTRACT_NAMES } from '../common/constants.js';
import type { RebasableL2StethContractType, UnwrapResults, WrapProps, WrapPropsWithoutTxOptions, WrapResults } from './types.js';
import type { PopulatedTransaction, TransactionResult } from '../core/types.js';
export declare class LidoSDKL2 extends LidoSDKModule {
    private static TRANSFER_SIGNATURE;
    static isContractAvailableOn(contract: LIDO_L2_CONTRACT_NAMES, chain: CHAINS): boolean;
    readonly wsteth: LidoSDKL2Wsteth;
    readonly steth: LidoSDKL2Steth;
    constructor(props: LidoSDKCommonProps);
    contractAddress(): Promise<Address>;
    getContract(): Promise<RebasableL2StethContractType>;
    approveWstethForWrap(props: WrapProps): Promise<TransactionResult>;
    approveWstethForWrapEstimateGas(props: WrapPropsWithoutTxOptions, options?: TransactionOptions): Promise<bigint>;
    approveWstethForWrapPopulateTx(props: WrapPropsWithoutTxOptions): Promise<PopulatedTransaction>;
    getWstethForWrapAllowance(account?: AccountValue): Promise<bigint>;
    wrapWstethToSteth(props: WrapProps): Promise<TransactionResult<WrapResults>>;
    wrapWstethToStethPopulateTx(props: WrapPropsWithoutTxOptions): Promise<PopulatedTransaction>;
    wrapWstethToStethEstimateGas(props: WrapPropsWithoutTxOptions, options?: TransactionOptions): Promise<bigint>;
    private wrapWstethToStethParseEvents;
    wrapWstethToStethSimulateTx(props: WrapPropsWithoutTxOptions): Promise<WriteContractParameters>;
    unwrapStethToWsteth(props: WrapProps): Promise<TransactionResult<UnwrapResults>>;
    unwrapStethPopulateTx(props: WrapPropsWithoutTxOptions): Promise<PopulatedTransaction>;
    unwrapStethSimulateTx(props: WrapPropsWithoutTxOptions): Promise<WriteContractParameters>;
    unwrapStethEstimateGas(props: WrapPropsWithoutTxOptions, options?: TransactionOptions): Promise<bigint>;
    private unwrapParseEvents;
    private parseProps;
}
//# sourceMappingURL=l2.d.ts.map