import { BridgeToken } from "../../types/bridge/bridge-token.js"; import type { BridgeDepositOptions, CompleteBridgeWithdrawOptions, InitiateBridgeWithdrawOptions } from "../../bridge/types/BridgeInterface.js"; import { type ConnectedExternalWallet } from "../../connect/index.js"; import type { WalletInterface } from "../../wallet/index.js"; import type { BridgeOperatorInterface } from "../../bridge/operator/BridgeOperatorInterface.js"; import { type Address, type Amount, type BridgeCompleteWithdrawFeeEstimation, type BridgeDepositFeeEstimation, type BridgeInitiateWithdrawFeeEstimation, type BridgingConfig, type ExternalAddress, type ExternalTransactionResponse } from "../../types/index.js"; import type { Tx } from "../../tx/index.js"; import type { DepositMonitorResult, DepositState, DepositStateInput, WithdrawalState, WithdrawalStateInput, WithdrawMonitorResult } from "../../bridge/monitor/types.js"; import type { StarkZapLogger } from "../../logger/index.js"; export declare class BridgeOperator implements BridgeOperatorInterface { private readonly starknetWallet; private readonly bridgingConfig; private readonly logger; private cache; private monitorCache; private _autoWithdrawFeesHandler; private _cctpFees; private _ethereumMonitorProvider; constructor(starknetWallet: WalletInterface, bridgingConfig: BridgingConfig | undefined, logger: StarkZapLogger); deposit(recipient: Address, amount: Amount, token: BridgeToken, externalWallet: ConnectedExternalWallet, options?: BridgeDepositOptions): Promise; getDepositBalance(token: BridgeToken, externalWallet: ConnectedExternalWallet): Promise; getDepositFeeEstimate(token: BridgeToken, externalWallet: ConnectedExternalWallet, options?: BridgeDepositOptions): Promise; getAllowance(token: BridgeToken, externalWallet: ConnectedExternalWallet): Promise; initiateWithdraw(recipient: ExternalAddress, amount: Amount, token: BridgeToken, externalWallet: ConnectedExternalWallet, options?: InitiateBridgeWithdrawOptions): Promise; getWithdrawBalance(token: BridgeToken, externalWallet: ConnectedExternalWallet): Promise; getInitiateWithdrawFeeEstimate(token: BridgeToken, externalWallet: ConnectedExternalWallet, options?: InitiateBridgeWithdrawOptions): Promise; completeWithdraw(recipient: ExternalAddress, amount: Amount, token: BridgeToken, externalWallet: ConnectedExternalWallet, options?: CompleteBridgeWithdrawOptions): Promise; getCompleteWithdrawFeeEstimate(amount: Amount, recipient: ExternalAddress, token: BridgeToken, externalWallet: ConnectedExternalWallet, options?: CompleteBridgeWithdrawOptions): Promise; monitorDeposit(token: BridgeToken, externalTxHash: string, starknetTxHash?: string): Promise; monitorWithdrawal(token: BridgeToken, snTxHash: string, externalTxHash?: string): Promise; getDepositState(token: BridgeToken, param: DepositStateInput): Promise; getWithdrawalState(token: BridgeToken, param: WithdrawalStateInput): Promise; dispose(): void; private bridge; private createBridge; private createEthereumBridge; private createSolanaBridge; private monitor; private getOrCreateMonitor; private getEthereumMonitorProvider; private getSolanaConnection; private get autoWithdrawFeesHandler(); } //# sourceMappingURL=BridgeOperator.d.ts.map