import { Alchemy } from "alchemy-sdk";
import { Signer, Wallet, ethers } from "ethers";
import { AlchemyGatewayConfig, IWeb3Gateway, WsGatewayConfig } from "../common/interfaces";
import { APP_NETWORK } from "../common/constants";
export declare class AlchemyWsGateway implements IWeb3Gateway {
    protected config: WsGatewayConfig & AlchemyGatewayConfig;
    protected _alchemy: Alchemy;
    protected _provider: ethers.providers.WebSocketProvider;
    wallet: Wallet;
    network: APP_NETWORK;
    constructor(config: WsGatewayConfig & AlchemyGatewayConfig);
    connect(): void;
    get provider(): ethers.providers.WebSocketProvider;
    get signer(): Promise<Signer>;
    getCurrentBlock(): Promise<number>;
    isValidTxFormat(txHash: string): boolean;
    recoverSigner(message: string, signedMessage: string): Promise<string>;
    getBlock(blockNumber: number): Promise<ethers.providers.Block>;
    getGasPrice(): Promise<string>;
    getSignerAddress(): Promise<string>;
    getTransactionByID(txID: string): Promise<any>;
}
