import { BuildRelayerTxParams, BuildRelayerTxResponse, RelayerResponse, RelayerTxStatus, SendRelayerTxParams, SendRelayerTxWithWebSocketParams, RelayerWebSocketEvents, TransactionInfo, SendSafeRelayerTxParams } from "../utils/Types.js"; export interface IRelayer { buildRelayerTx(_params: BuildRelayerTxParams): Promise; buildRelayerTxEIP712(_params: BuildRelayerTxParams): Promise; sendRelayerTx(_params: SendRelayerTxParams): Promise; sendSafeRelayerTx(_params: SendSafeRelayerTxParams): Promise; sendRelayerTxWithRealTimeUpdates(_params: SendRelayerTxWithWebSocketParams): Promise; getRelayerTxStatus(_transactionId: string): Promise; extractTransactionInfo(_txStatus: RelayerTxStatus): TransactionInfo; isTransactionConfirmed(_txStatus: RelayerTxStatus): boolean; isTransactionPending(_txStatus: RelayerTxStatus): boolean; isTransactionFailed(_txStatus: RelayerTxStatus): boolean; getTransactionHash(_txStatus: RelayerTxStatus): string | null; subscribeToTransaction(_transactionId: string, _events?: RelayerWebSocketEvents): Promise; unsubscribeFromTransaction(_transactionId: string): void; connectWebSocket(): void; disconnectWebSocket(): void; isWebSocketConnected(): boolean; }