import { type Address, Hash } from 'viem';
import { AbstractLidoSDKErc20 } from '../erc20/erc20.js';
import type { AccountValue, EtherValue, NoTxOptions, TransactionResult } from '../core/types.js';
import type { BridgedWstethContractType, RebasableL2StethContractType, SharesTransferProps } from './types.js';
export declare class LidoSDKL2Wsteth extends AbstractLidoSDKErc20 {
    contractAddress(): Promise<Address>;
    getL2Contract(): Promise<BridgedWstethContractType>;
    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<Address>;
    getL2Contract(): Promise<RebasableL2StethContractType>;
    erc721Domain(): Promise<{
        name: string;
        version: string;
        chainId: bigint;
        verifyingContract: Address;
        fields: Hash;
        salt: Hash;
        extensions: readonly bigint[];
    }>;
    balanceShares(address?: AccountValue): Promise<bigint>;
    convertToShares(stethAmount: EtherValue): Promise<bigint>;
    convertToSteth(sharesAmount: EtherValue): Promise<bigint>;
    totalShares(): Promise<bigint>;
    transferShares({ account: accountProp, to, amount: _amount, callback, from: _from, ...rest }: SharesTransferProps): Promise<TransactionResult>;
    populateTransferShares({ account: accountProp, to, amount: _amount, from: _from, }: NoTxOptions<SharesTransferProps>): Promise<{
        to: `0x${string}`;
        from: `0x${string}`;
        data: `0x${string}`;
    }>;
    simulateTransferShares({ account: _account, to, amount: _amount, from: _from, }: NoTxOptions<SharesTransferProps>): Promise<import("viem").SimulateContractReturnType<readonly [{
        readonly inputs: readonly [{
            readonly internalType: "string";
            readonly name: "name_";
            readonly type: "string";
        }, {
            readonly internalType: "string";
            readonly name: "symbol_";
            readonly type: "string";
        }, {
            readonly internalType: "string";
            readonly name: "version_";
            readonly type: "string";
        }, {
            readonly internalType: "uint8";
            readonly name: "decimals_";
            readonly type: "uint8";
        }, {
            readonly internalType: "address";
            readonly name: "tokenToWrapFrom_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "tokenRateOracle_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "bridge_";
            readonly type: "address";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "constructor";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorAccountIsZeroAddress";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorDeadlineExpired";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorInvalidSignature";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorNameIsEmpty";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorNotBridge";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorNotEnoughAllowance";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorNotEnoughBalance";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorSymbolIsEmpty";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorTransferToRebasableContract";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorZeroAddressL2ERC20TokenBridge";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorZeroAddressTokenRateOracle";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorZeroAddressTokenToWrapFrom";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorZeroDecimals";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorZeroSharesUnwrap";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorZeroSharesWrap";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorZeroTokensUnwrap";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidContractVersionIncrement";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NonZeroContractVersionOnInit";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "expected";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "received";
            readonly type: "uint256";
        }];
        readonly name: "UnexpectedContractVersion";
        readonly type: "error";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "spender";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "Approval";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "version";
            readonly type: "uint256";
        }];
        readonly name: "ContractVersionSet";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "from";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "to";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "Transfer";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "from";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "to";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "sharesValue";
            readonly type: "uint256";
        }];
        readonly name: "TransferShares";
        readonly type: "event";
    }, {
        readonly inputs: readonly [];
        readonly name: "DOMAIN_SEPARATOR";
        readonly outputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "";
            readonly type: "bytes32";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "L2_ERC20_TOKEN_BRIDGE";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "TOKEN_RATE_ORACLE";
        readonly outputs: readonly [{
            readonly internalType: "contract ITokenRateOracle";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "TOKEN_RATE_ORACLE_DECIMALS";
        readonly outputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "TOKEN_TO_WRAP_FROM";
        readonly outputs: readonly [{
            readonly internalType: "contract IERC20";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "spender";
            readonly type: "address";
        }];
        readonly name: "allowance";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "spender_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount_";
            readonly type: "uint256";
        }];
        readonly name: "approve";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account_";
            readonly type: "address";
        }];
        readonly name: "balanceOf";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "tokenAmount_";
            readonly type: "uint256";
        }];
        readonly name: "bridgeUnwrap";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "sharesAmount_";
            readonly type: "uint256";
        }];
        readonly name: "bridgeWrap";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "decimals";
        readonly outputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "eip712Domain";
        readonly outputs: readonly [{
            readonly internalType: "bytes1";
            readonly name: "fields";
            readonly type: "bytes1";
        }, {
            readonly internalType: "string";
            readonly name: "name";
            readonly type: "string";
        }, {
            readonly internalType: "string";
            readonly name: "version";
            readonly type: "string";
        }, {
            readonly internalType: "uint256";
            readonly name: "chainId";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "verifyingContract";
            readonly type: "address";
        }, {
            readonly internalType: "bytes32";
            readonly name: "salt";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256[]";
            readonly name: "extensions";
            readonly type: "uint256[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getContractVersion";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "tokenAmount_";
            readonly type: "uint256";
        }];
        readonly name: "getSharesByTokens";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "sharesAmount_";
            readonly type: "uint256";
        }];
        readonly name: "getTokensByShares";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getTotalShares";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "string";
            readonly name: "name_";
            readonly type: "string";
        }, {
            readonly internalType: "string";
            readonly name: "symbol_";
            readonly type: "string";
        }, {
            readonly internalType: "string";
            readonly name: "version_";
            readonly type: "string";
        }];
        readonly name: "initialize";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "name";
        readonly outputs: readonly [{
            readonly internalType: "string";
            readonly name: "";
            readonly type: "string";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }];
        readonly name: "nonces";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "owner_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "spender_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "value_";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline_";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes";
            readonly name: "signature_";
            readonly type: "bytes";
        }];
        readonly name: "permit";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "owner_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "spender_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "value_";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline_";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint8";
            readonly name: "v_";
            readonly type: "uint8";
        }, {
            readonly internalType: "bytes32";
            readonly name: "r_";
            readonly type: "bytes32";
        }, {
            readonly internalType: "bytes32";
            readonly name: "s_";
            readonly type: "bytes32";
        }];
        readonly name: "permit";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account_";
            readonly type: "address";
        }];
        readonly name: "sharesOf";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "symbol";
        readonly outputs: readonly [{
            readonly internalType: "string";
            readonly name: "";
            readonly type: "string";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "totalSupply";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "to_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount_";
            readonly type: "uint256";
        }];
        readonly name: "transfer";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "from_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "to_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount_";
            readonly type: "uint256";
        }];
        readonly name: "transferFrom";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "recipient_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "sharesAmount_";
            readonly type: "uint256";
        }];
        readonly name: "transferShares";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "sender_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "recipient_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "sharesAmount_";
            readonly type: "uint256";
        }];
        readonly name: "transferSharesFrom";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "tokenAmount_";
            readonly type: "uint256";
        }];
        readonly name: "unwrap";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "sharesAmount_";
            readonly type: "uint256";
        }];
        readonly name: "unwrapShares";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "sharesAmount_";
            readonly type: "uint256";
        }];
        readonly name: "wrap";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }], "transferSharesFrom", readonly [`0x${string}`, recipient_: `0x${string}`, bigint], import("viem").Chain | undefined, import("viem").Account | undefined, undefined, import("viem").JsonRpcAccount> | import("viem").SimulateContractReturnType<readonly [{
        readonly inputs: readonly [{
            readonly internalType: "string";
            readonly name: "name_";
            readonly type: "string";
        }, {
            readonly internalType: "string";
            readonly name: "symbol_";
            readonly type: "string";
        }, {
            readonly internalType: "string";
            readonly name: "version_";
            readonly type: "string";
        }, {
            readonly internalType: "uint8";
            readonly name: "decimals_";
            readonly type: "uint8";
        }, {
            readonly internalType: "address";
            readonly name: "tokenToWrapFrom_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "tokenRateOracle_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "bridge_";
            readonly type: "address";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "constructor";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorAccountIsZeroAddress";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorDeadlineExpired";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorInvalidSignature";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorNameIsEmpty";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorNotBridge";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorNotEnoughAllowance";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorNotEnoughBalance";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorSymbolIsEmpty";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorTransferToRebasableContract";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorZeroAddressL2ERC20TokenBridge";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorZeroAddressTokenRateOracle";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorZeroAddressTokenToWrapFrom";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorZeroDecimals";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorZeroSharesUnwrap";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorZeroSharesWrap";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ErrorZeroTokensUnwrap";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidContractVersionIncrement";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NonZeroContractVersionOnInit";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "expected";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "received";
            readonly type: "uint256";
        }];
        readonly name: "UnexpectedContractVersion";
        readonly type: "error";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "spender";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "Approval";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "version";
            readonly type: "uint256";
        }];
        readonly name: "ContractVersionSet";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "from";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "to";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "Transfer";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "from";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "to";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "sharesValue";
            readonly type: "uint256";
        }];
        readonly name: "TransferShares";
        readonly type: "event";
    }, {
        readonly inputs: readonly [];
        readonly name: "DOMAIN_SEPARATOR";
        readonly outputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "";
            readonly type: "bytes32";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "L2_ERC20_TOKEN_BRIDGE";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "TOKEN_RATE_ORACLE";
        readonly outputs: readonly [{
            readonly internalType: "contract ITokenRateOracle";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "TOKEN_RATE_ORACLE_DECIMALS";
        readonly outputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "TOKEN_TO_WRAP_FROM";
        readonly outputs: readonly [{
            readonly internalType: "contract IERC20";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "spender";
            readonly type: "address";
        }];
        readonly name: "allowance";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "spender_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount_";
            readonly type: "uint256";
        }];
        readonly name: "approve";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account_";
            readonly type: "address";
        }];
        readonly name: "balanceOf";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "tokenAmount_";
            readonly type: "uint256";
        }];
        readonly name: "bridgeUnwrap";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "sharesAmount_";
            readonly type: "uint256";
        }];
        readonly name: "bridgeWrap";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "decimals";
        readonly outputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "eip712Domain";
        readonly outputs: readonly [{
            readonly internalType: "bytes1";
            readonly name: "fields";
            readonly type: "bytes1";
        }, {
            readonly internalType: "string";
            readonly name: "name";
            readonly type: "string";
        }, {
            readonly internalType: "string";
            readonly name: "version";
            readonly type: "string";
        }, {
            readonly internalType: "uint256";
            readonly name: "chainId";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "verifyingContract";
            readonly type: "address";
        }, {
            readonly internalType: "bytes32";
            readonly name: "salt";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256[]";
            readonly name: "extensions";
            readonly type: "uint256[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getContractVersion";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "tokenAmount_";
            readonly type: "uint256";
        }];
        readonly name: "getSharesByTokens";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "sharesAmount_";
            readonly type: "uint256";
        }];
        readonly name: "getTokensByShares";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getTotalShares";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "string";
            readonly name: "name_";
            readonly type: "string";
        }, {
            readonly internalType: "string";
            readonly name: "symbol_";
            readonly type: "string";
        }, {
            readonly internalType: "string";
            readonly name: "version_";
            readonly type: "string";
        }];
        readonly name: "initialize";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "name";
        readonly outputs: readonly [{
            readonly internalType: "string";
            readonly name: "";
            readonly type: "string";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }];
        readonly name: "nonces";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "owner_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "spender_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "value_";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline_";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes";
            readonly name: "signature_";
            readonly type: "bytes";
        }];
        readonly name: "permit";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "owner_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "spender_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "value_";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline_";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint8";
            readonly name: "v_";
            readonly type: "uint8";
        }, {
            readonly internalType: "bytes32";
            readonly name: "r_";
            readonly type: "bytes32";
        }, {
            readonly internalType: "bytes32";
            readonly name: "s_";
            readonly type: "bytes32";
        }];
        readonly name: "permit";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account_";
            readonly type: "address";
        }];
        readonly name: "sharesOf";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "symbol";
        readonly outputs: readonly [{
            readonly internalType: "string";
            readonly name: "";
            readonly type: "string";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "totalSupply";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "to_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount_";
            readonly type: "uint256";
        }];
        readonly name: "transfer";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "from_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "to_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount_";
            readonly type: "uint256";
        }];
        readonly name: "transferFrom";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "recipient_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "sharesAmount_";
            readonly type: "uint256";
        }];
        readonly name: "transferShares";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "sender_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "recipient_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "sharesAmount_";
            readonly type: "uint256";
        }];
        readonly name: "transferSharesFrom";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "tokenAmount_";
            readonly type: "uint256";
        }];
        readonly name: "unwrap";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "sharesAmount_";
            readonly type: "uint256";
        }];
        readonly name: "unwrapShares";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "sharesAmount_";
            readonly type: "uint256";
        }];
        readonly name: "wrap";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }], "transferShares", readonly [recipient_: `0x${string}`, bigint], import("viem").Chain | undefined, import("viem").Account | undefined, undefined, import("viem").JsonRpcAccount>>;
}
//# sourceMappingURL=tokens.d.ts.map