import { EthereumBridge } from "../../../bridge/ethereum/EthereumBridge.js"; import type { BridgeDepositOptions, CompleteBridgeWithdrawOptions, InitiateBridgeWithdrawOptions } from "../../../bridge/types/BridgeInterface.js"; import { type EthereumCompleteWithdrawFeeEstimation, type EthereumInitiateWithdrawFeeEstimation, type EthereumWalletConfig, type OftDepositFeeEstimation } from "../../../bridge/ethereum/types.js"; import type { Address, ExternalAddress, ExternalTransactionResponse } from "../../../types/index.js"; import { Amount, type EthereumAddress, EthereumBridgeToken } from "../../../types/index.js"; import type { WalletInterface } from "../../../wallet/index.js"; import type { Tx } from "../../../tx/index.js"; import type { StarkZapLogger } from "../../../logger/index.js"; export declare class OftBridge extends EthereumBridge { private readonly layerZeroApi; private cachedSpender; private dummyDepositTxCache; constructor(bridgeToken: EthereumBridgeToken, config: EthereumWalletConfig, starknetWallet: WalletInterface, apiKey: string, logger: StarkZapLogger); deposit(recipient: Address, amount: Amount, _options?: BridgeDepositOptions): Promise; getDepositFeeEstimate(_options?: BridgeDepositOptions): Promise; initiateWithdraw(recipient: ExternalAddress, amount: Amount, options?: InitiateBridgeWithdrawOptions): Promise; getInitiateWithdrawFeeEstimate(_options?: InitiateBridgeWithdrawOptions): Promise; completeWithdraw(recipient: ExternalAddress, amount: Amount, options?: CompleteBridgeWithdrawOptions): Promise; getCompleteWithdrawFeeEstimate(amount: Amount, recipient: ExternalAddress, options?: CompleteBridgeWithdrawOptions): Promise; protected getAllowanceSpender(): Promise; private getOftMinAmount; private getDummyDepositTx; private fetchDummyDepositTx; private clearDummyDepositTxCache; } //# sourceMappingURL=OftBridge.d.ts.map