import { ServerInterface } from "./ServerInterface";
import { type ClientMessageHookInterface } from "./HttpServer";
import { ZmqEventsHandlerProvider } from "./ZmqEventsHandlerProvider";
import type { RouteConfig } from "./RestApiRoutesService";
interface ZmqServer {
    host: string;
    port: number;
}
interface LocalServerConfig {
    port: number;
    customApiRoutes?: RouteConfig[];
    apiToken?: string;
    excludedMethods?: string[];
    ws?: {
        clientHooks?: ClientMessageHookInterface[];
    };
}
interface DaemonConfig {
    host: string;
    port?: number;
    user?: string;
    password?: string;
    zmq: ZmqServer;
}
export interface VerusdWebConfig {
    daemonConfig: DaemonConfig;
    localServerConfig: LocalServerConfig;
}
export declare class VerusdWeb implements ServerInterface {
    private zmqClient;
    private httpServer;
    private wsServer;
    private daemonConfig;
    private localServerConfig;
    private clientHooks;
    private customApiRoutes;
    private zmqEventsProvider;
    get zmq(): ZmqEventsHandlerProvider;
    constructor(config: VerusdWebConfig);
    open(): ServerInterface;
    close(): boolean;
    private initDaemonRpcConnection;
}
export {};
