import { BigNumberish, ethers } from 'ethers'; import { EthMessageSigner } from './eth-message-signer'; import { SyncProvider } from './provider-interface'; import { Signer } from './signer'; import { BatchBuilderInternalTx } from './batch-builder'; import { Address, ChangePubKey, ChangePubKeyCREATE2, ChangePubKeyECDSA, ChangePubKeyOnchain, ChangePubkeyTypes, Create2Data, EthSignerType, ForcedExit, MintNFT, NFT, Nonce, Order, PubKeyHash, SignedTransaction, Swap, TokenLike, Transfer, TxEthSignature, Withdraw, WithdrawNFT, TokenRatio, WeiRatio } from './types'; import { Transaction } from './operations'; import { AbstractWallet } from './abstract-wallet'; export { Transaction, ETHOperation, submitSignedTransaction, submitSignedTransactionsBatch } from './operations'; export declare class Wallet extends AbstractWallet { _ethSigner: ethers.Signer; private _ethMessageSigner; signer?: Signer; ethSignerType?: EthSignerType; protected constructor(_ethSigner: ethers.Signer, _ethMessageSigner: EthMessageSigner, cachedAddress: Address, signer?: Signer, accountId?: number, ethSignerType?: EthSignerType); static fromEthSigner(ethWallet: ethers.Signer, provider: SyncProvider, signer?: Signer, accountId?: number, ethSignerType?: EthSignerType): Promise; static fromCreate2Data(syncSigner: Signer, provider: SyncProvider, create2Data: Create2Data, accountId?: number): Promise; static fromEthSignerNoKeys(ethWallet: ethers.Signer, provider: SyncProvider, accountId?: number, ethSignerType?: EthSignerType): Promise; static fromSyncSigner(ethWallet: ethers.Signer, syncSigner: Signer, provider: SyncProvider, accountId?: number): Promise; ethSigner(): ethers.Signer; ethMessageSigner(): EthMessageSigner; syncSignerConnected(): boolean; syncSignerPubKeyHash(): Promise; processBatchBuilderTransactions(startNonce: Nonce, txs: BatchBuilderInternalTx[]): Promise<{ txs: SignedTransaction[]; signature?: TxEthSignature; }>; signSyncTransfer(transfer: { to: Address; token: TokenLike; amount: BigNumberish; fee: BigNumberish; nonce: number; validFrom?: number; validUntil?: number; }): Promise; syncTransfer(transfer: { to: Address; token: TokenLike; amount: BigNumberish; fee?: BigNumberish; nonce?: Nonce; validFrom?: number; validUntil?: number; }): Promise; signSetSigningKey(changePubKey: { feeToken: TokenLike; fee: BigNumberish; nonce: number; ethAuthType: ChangePubkeyTypes; batchHash?: string; validFrom?: number; validUntil?: number; }): Promise; setSigningKey(changePubKey: { feeToken: TokenLike; ethAuthType: ChangePubkeyTypes; fee?: BigNumberish; nonce?: Nonce; validFrom?: number; validUntil?: number; }): Promise; signWithdrawFromSyncToEthereum(withdraw: { ethAddress: string; token: TokenLike; amount: BigNumberish; fee: BigNumberish; nonce: number; validFrom?: number; validUntil?: number; }): Promise; withdrawFromSyncToEthereum(withdraw: { ethAddress: string; token: TokenLike; amount: BigNumberish; fee?: BigNumberish; nonce?: Nonce; fastProcessing?: boolean; validFrom?: number; validUntil?: number; }): Promise; signSyncForcedExit(forcedExit: { target: Address; token: TokenLike; fee: BigNumberish; nonce: number; validFrom?: number; validUntil?: number; }): Promise; syncForcedExit(forcedExit: { target: Address; token: TokenLike; fee?: BigNumberish; nonce?: Nonce; validFrom?: number; validUntil?: number; }): Promise; signOrder(orderData: { tokenSell: TokenLike; tokenBuy: TokenLike; ratio: TokenRatio | WeiRatio; amount: BigNumberish; recipient?: Address; nonce?: Nonce; validFrom?: number; validUntil?: number; }): Promise; signSyncSwap(swap: { orders: [Order, Order]; feeToken: number; amounts: [BigNumberish, BigNumberish]; nonce: number; fee: BigNumberish; }): Promise; syncSwap(swap: { orders: [Order, Order]; feeToken: TokenLike; amounts?: [BigNumberish, BigNumberish]; nonce?: number; fee?: BigNumberish; }): Promise; signMintNFT(mintNFT: { recipient: string; contentHash: string; feeToken: TokenLike; fee: BigNumberish; nonce: number; }): Promise; mintNFT(mintNFT: { recipient: Address; contentHash: ethers.BytesLike; feeToken: TokenLike; fee?: BigNumberish; nonce?: Nonce; }): Promise; signWithdrawNFT(withdrawNFT: { to: string; token: number; feeToken: TokenLike; fee: BigNumberish; nonce: number; validFrom?: number; validUntil?: number; }): Promise; withdrawNFT(withdrawNFT: { to: string; token: number; feeToken: TokenLike; fee?: BigNumberish; nonce?: Nonce; fastProcessing?: boolean; validFrom?: number; validUntil?: number; }): Promise; syncTransferNFT(transfer: { to: Address; token: NFT; feeToken: TokenLike; fee?: BigNumberish; nonce?: Nonce; validFrom?: number; validUntil?: number; }): Promise; syncMultiTransfer(transfers: { to: Address; token: TokenLike; amount: BigNumberish; fee: BigNumberish; nonce?: Nonce; validFrom?: number; validUntil?: number; }[]): Promise; protected getTransfer(transfer: { to: Address; token: TokenLike; amount: BigNumberish; fee: BigNumberish; nonce: number; validFrom: number; validUntil: number; }): Promise; protected getChangePubKey(changePubKey: { feeToken: TokenLike; fee: BigNumberish; nonce: number; ethAuthData?: ChangePubKeyOnchain | ChangePubKeyECDSA | ChangePubKeyCREATE2; ethSignature?: string; validFrom: number; validUntil: number; }): Promise; protected getWithdrawFromSyncToEthereum(withdraw: { ethAddress: string; token: TokenLike; amount: BigNumberish; fee: BigNumberish; nonce: number; validFrom: number; validUntil: number; }): Promise; protected getForcedExit(forcedExit: { target: Address; token: TokenLike; fee: BigNumberish; nonce: number; validFrom?: number; validUntil?: number; }): Promise; protected getSwap(swap: { orders: [Order, Order]; feeToken: number; amounts: [BigNumberish, BigNumberish]; nonce: number; fee: BigNumberish; }): Promise; protected getMintNFT(mintNFT: { recipient: string; contentHash: string; feeToken: TokenLike; fee: BigNumberish; nonce: number; }): Promise; protected getWithdrawNFT(withdrawNFT: { to: string; token: TokenLike; feeToken: TokenLike; fee: BigNumberish; nonce: number; validFrom: number; validUntil: number; }): Promise; getWithdrawNFTEthMessagePart(withdrawNFT: { to: string; token: number; feeToken: TokenLike; fee: BigNumberish; }): string; getTransferEthMessagePart(transfer: { to: Address; token: TokenLike; amount: BigNumberish; fee: BigNumberish; }): Promise; getWithdrawEthMessagePart(withdraw: { ethAddress: string; token: TokenLike; amount: BigNumberish; fee: BigNumberish; }): string; getChangePubKeyEthMessagePart(changePubKey: { pubKeyHash: string; feeToken: TokenLike; fee: BigNumberish; }): string; getMintNFTEthMessagePart(mintNFT: { recipient: string; contentHash: string; feeToken: TokenLike; fee: BigNumberish; }): string; getSwapEthSignMessagePart(swap: { fee: BigNumberish; feeToken: TokenLike; }): string; getForcedExitEthMessagePart(forcedExit: { target: Address; token: TokenLike; fee: BigNumberish; }): string; getPartialOrder(order: { tokenSell: TokenLike; tokenBuy: TokenLike; ratio: TokenRatio | WeiRatio; amount: BigNumberish; recipient?: Address; nonce?: Nonce; validFrom?: number; validUntil?: number; }): Promise; }