/* tslint:disable */
/* eslint-disable */
/**
* Creates a method handler with the given client options.
* @param {string} options
* @returns {Promise<ClientMethodHandler>}
*/
export function createClient(options: string): Promise<ClientMethodHandler>;
/**
* Necessary for compatibility with the node.js bindings.
* @param {ClientMethodHandler} method_handler
* @returns {Promise<void>}
*/
export function destroyClient(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 {ClientMethodHandler} method_handler
* @param {string} method
* @returns {Promise<string>}
*/
export function callClientMethod(method_handler: ClientMethodHandler, method: string): 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
* @returns {Promise<void>}
*/
export function listenMqtt(_topics: string[], _callback: Function): Promise<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 {SecretManagerMethodHandler} method_handler
* @param {string} method
* @returns {Promise<string>}
*/
export function callSecretManagerMethod(method_handler: SecretManagerMethodHandler, method: string): 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 {string}
*/
export function callUtilsMethodRust(method: string): string;
/**
* Creates a method handler with the given options.
* @param {string} options
* @returns {Promise<WalletMethodHandler>}
*/
export function createWallet(options: string): Promise<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 getClient(method_handler: WalletMethodHandler): Promise<ClientMethodHandler>;
/**
* @param {WalletMethodHandler} method_handler
* @returns {Promise<SecretManagerMethodHandler>}
*/
export function getSecretManager(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 {WalletMethodHandler} method_handler
* @param {string} method
* @returns {Promise<string>}
*/
export function callWalletMethod(method_handler: WalletMethodHandler, method: string): 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 {WalletMethodHandler} method_handler
* @param {Array<any>} vec
* @param {Function} callback
* @returns {Promise<any>}
*/
export function listenWallet(method_handler: WalletMethodHandler, vec: Array<any>, callback: Function): 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;
}
