import type { RpcProvider } from "starknet"; import type { Provider } from "ethers"; import type { BridgeMonitorInterface } from "../../../bridge/monitor/BridgeMonitorInterface.js"; import { type DepositMonitorResult, DepositState, type DepositStateInput, WithdrawalState, type WithdrawalStateInput, type WithdrawMonitorResult } from "../../../bridge/monitor/types.js"; import type { ChainId } from "../../../types/index.js"; import type { Protocol } from "../../../types/bridge/protocol.js"; import type { StarkZapLogger } from "../../../logger/index.js"; export interface OftMonitorOptions { chainId: ChainId; starknetProvider: RpcProvider; ethereumProvider: Provider; protocol: Protocol.OFT | Protocol.OFT_MIGRATED; fetchFn?: typeof fetch; logger: StarkZapLogger; } export declare class OftMonitor implements BridgeMonitorInterface { protected readonly chainId: ChainId; protected readonly starknetProvider: RpcProvider; protected readonly ethereumProvider: Provider; protected readonly protocol: Protocol.OFT | Protocol.OFT_MIGRATED; protected readonly fetchFn: typeof fetch; private readonly logger; constructor(options: OftMonitorOptions); monitorDeposit(externalTxHash: string, starknetTxHash?: string): Promise; monitorWithdrawal(snTxHash: string, externalTxHash?: string): Promise; getDepositState(param: DepositStateInput): Promise; getWithdrawalState(param: WithdrawalStateInput): Promise; private tryFetchLayerZeroMessage; } //# sourceMappingURL=OftMonitor.d.ts.map