import { BuildRelayerTxParams, BuildRelayerTxResponse, RelayerResponse, RelayerTxStatus, SendRelayerTxParams, SendRelayerTxWithWebSocketParams, RelayerWebSocketEvents } from "../utils/Types";
export interface IRelayer {
    buildRelayerTx(_params: BuildRelayerTxParams): Promise<BuildRelayerTxResponse>;
    buildRelayerTxEIP712(_params: BuildRelayerTxParams): Promise<BuildRelayerTxResponse>;
    sendRelayerTx(_params: SendRelayerTxParams): Promise<RelayerResponse>;
    sendRelayerTxWithRealTimeUpdates(_params: SendRelayerTxWithWebSocketParams): Promise<RelayerResponse>;
    getRelayerTxStatus(_transactionId: string): Promise<RelayerTxStatus>;
    subscribeToTransaction(_transactionId: string, _events?: RelayerWebSocketEvents): Promise<void>;
    unsubscribeFromTransaction(_transactionId: string): void;
    connectWebSocket(): void;
    disconnectWebSocket(): void;
    isWebSocketConnected(): boolean;
}
