import { ethers, Signer, Wallet } from "ethers";
import { BscWsGatewayConfig, IWeb3Gateway, WsGatewayConfig } from "../common/interfaces";
import { APP_NETWORK, NETWORK_IDS } from "../common/constants";
export declare class BscWsGateway implements IWeb3Gateway {
    protected config: WsGatewayConfig & BscWsGatewayConfig;
    provider: ethers.providers.WebSocketProvider;
    wallet: Wallet;
    network: APP_NETWORK;
    constructor(config: WsGatewayConfig & BscWsGatewayConfig);
    protected get networkName(): APP_NETWORK.BINANCE | APP_NETWORK.BINANCE_TESTNET;
    protected get chainId(): NETWORK_IDS.BINANCE | NETWORK_IDS.BINANCE_TESTNET;
    connect(): void;
    getGasPrice(): Promise<string>;
    isValidTxFormat(txHash: string): boolean;
    get signer(): Promise<Signer>;
    getBlock(blockNumber: number): Promise<any>;
    recoverSigner(message: string, signedMessage: string): Promise<string>;
    getCurrentBlock(): Promise<number>;
    getSignerAddress(): Promise<string>;
    getTransactionByID(txID: string): Promise<any>;
}
