import { type RpcProvider } from "starknet"; import type { Provider } from "ethers"; import { type ChainId } from "../../../types/index.js"; import type { BridgeMonitorInterface } from "../../../bridge/monitor/BridgeMonitorInterface.js"; import { type WithdrawMonitorResult, type DepositMonitorResult, type WithdrawalStateInput, WithdrawalState, type DepositStateInput, DepositState } from "../../../bridge/monitor/types.js"; import type { StarkZapLogger } from "../../../logger/index.js"; export interface CctpMonitorOptions { chainId: ChainId; starknetProvider: RpcProvider; ethereumProvider: Provider; fetchFn?: typeof fetch; logger: StarkZapLogger; } export declare class CctpMonitor implements BridgeMonitorInterface { private readonly chainId; private readonly starknetProvider; private readonly ethereumProvider; private readonly fetchFn; private readonly logger; private messageTransmitterPromise; private messageReceivedKey; constructor(options: CctpMonitorOptions); monitorDeposit(externalTxHash: string, starknetTxHash?: string): Promise; monitorWithdrawal(snTxHash: string, externalTxHash?: string): Promise; getDepositState(param: DepositStateInput): Promise; getWithdrawalState(param: WithdrawalStateInput): Promise; private tryFetchAttestation; private findDepositTxOnSn; private tryFetchDepositAttestation; private inferBlockRange; private getMessageTransmitter; } //# sourceMappingURL=CctpMonitor.d.ts.map