/* tslint:disable */
/* eslint-disable */
/**
* Creates a method handler with the given client options.
* @param {string} clientOptions
* @returns {ClientMethodHandler}
*/
export function createClient(clientOptions: string): ClientMethodHandler;
/**
* Necessary for compatibility with the node.js bindings.
* @param {ClientMethodHandler} _client_method_handler
* @returns {Promise<void>}
*/
export function destroyClient(_client_method_handler: ClientMethodHandler): Promise<void>;
/**
* Handles a method, returns the response as a JSON-encoded string.
*
* Returns an error if the response itself is an error or panic.
* @param {string} method
* @param {ClientMethodHandler} methodHandler
* @returns {Promise<string>}
*/
export function callClientMethodAsync(method: string, methodHandler: ClientMethodHandler): Promise<string>;
/**
* MQTT is not supported for WebAssembly bindings.
*
* Throws an error if called, only included for compatibility
* with the Node.js bindings TypeScript definitions.
* @param {string[]} _topics
* @param {Function} _callback
*/
export function listenMqtt(_topics: string[], _callback: Function): void;
/**
* Creates a method handler with the given secret_manager options.
* @param {string} options
* @returns {SecretManagerMethodHandler}
*/
export function createSecretManager(options: string): SecretManagerMethodHandler;
/**
* Handles a method, returns the response as a JSON-encoded string.
*
* Returns an error if the response itself is an error or panic.
* @param {string} method
* @param {SecretManagerMethodHandler} methodHandler
* @returns {Promise<string>}
*/
export function callSecretManagerMethodAsync(method: string, methodHandler: SecretManagerMethodHandler): Promise<string>;
/**
* Stronghold snapshot migration is not supported for WebAssembly bindings.
*
* Throws an error if called, only included for compatibility
* with the Node.js bindings TypeScript definitions.
* @param {string} _current_path
* @param {string} _current_password
* @param {string} _salt
* @param {number} _rounds
* @param {string | undefined} _new_path
* @param {string | undefined} _new_password
*/
export function migrateStrongholdSnapshotV2ToV3(_current_path: string, _current_password: string, _salt: string, _rounds: number, _new_path?: string, _new_password?: string): void;
/**
* Handles a method, returns the response as a JSON-encoded string.
*
* Returns an error if the response itself is an error or panic.
* @param {string} method
* @returns {any}
*/
export function callUtilsMethodRust(method: string): any;
/**
* Creates a method handler with the given options.
* @param {string} options
* @returns {WalletMethodHandler}
*/
export function createWallet(options: string): WalletMethodHandler;
/**
* @param {WalletMethodHandler} method_handler
* @returns {Promise<void>}
*/
export function destroyWallet(method_handler: WalletMethodHandler): Promise<void>;
/**
* @param {WalletMethodHandler} method_handler
* @returns {Promise<ClientMethodHandler>}
*/
export function getClientFromWallet(method_handler: WalletMethodHandler): Promise<ClientMethodHandler>;
/**
* @param {WalletMethodHandler} method_handler
* @returns {Promise<SecretManagerMethodHandler>}
*/
export function getSecretManagerFromWallet(method_handler: WalletMethodHandler): Promise<SecretManagerMethodHandler>;
/**
* Handles a method, returns the response as a JSON-encoded string.
*
* Returns an error if the response itself is an error or panic.
* @param {string} method
* @param {WalletMethodHandler} method_handler
* @returns {Promise<string>}
*/
export function callWalletMethodAsync(method: string, method_handler: WalletMethodHandler): Promise<string>;
/**
* It takes a list of event types, registers a callback function, and then listens for events of those
* types
*
* Arguments:
*
* * `vec`: An array of strings that represent the event types you want to listen to.
* * `callback`: A JavaScript function that will be called when a wallet event occurs.
* * `method_handler`: This is the same method handler that we used in the previous section.
* @param {Array<any>} vec
* @param {Function} callback
* @param {WalletMethodHandler} method_handler
* @returns {Promise<any>}
*/
export function listenWalletAsync(vec: Array<any>, callback: Function, method_handler: WalletMethodHandler): Promise<any>;
/**
* Initializes the console error panic hook for better panic messages.
* Gets automatically called when using wasm
*/
export function start(): void;
/**
* The Wasm bindings do not support internal logging configuration yet.
*
* Calling this will enable all rust logs to be show
* @param {string} _config
* @returns {Promise<void>}
*/
export function initLogger(_config: string): Promise<void>;
/**
* The Client method handler.
*/
export class ClientMethodHandler {
  free(): void;
}
/**
* The SecretManager method handler.
*/
export class SecretManagerMethodHandler {
  free(): void;
}
/**
* The Wallet method handler.
*/
export class WalletMethodHandler {
  free(): void;
}
