import type { ClientOptions, __ClientMethods__ } from '../types/client';
/**
 * The MethodHandler which sends the commands to the Rust side.
 */
export declare class ClientMethodHandler {
    methodHandler: any;
    /**
     * @param methodHandler The Rust method handler created in `ClientMethodHandler.create()`.
     */
    constructor(methodHandler: any);
    /**
     * @param options The client options.
     */
    static create(options: ClientOptions): Promise<ClientMethodHandler>;
    destroy(): Promise<void>;
    /**
     * Call a client method.
     *
     * @param method The client method.
     * @returns A promise that resolves to a JSON string response holding the result of the client method.
     */
    callMethod(method: __ClientMethods__): Promise<string>;
    /**
     * Listen to MQTT events.
     *
     * @param topics The topics to listen to.
     * @param callback The callback to be called when an MQTT event is received.
     */
    listenMqtt(topics: string[], callback: (error: Error, result: string) => void): Promise<void>;
}
