// This file was autogenerated by the `uniffi-bindgen-gecko-js` crate.
// Trust me, you don't want to mess with it!

import {
  ArrayBufferDataStream,
  FfiConverter,
  FfiConverterArrayBuffer,
  FfiConverterInt8,
  FfiConverterUInt8,
  FfiConverterInt16,
  FfiConverterUInt16,
  FfiConverterInt32,
  FfiConverterUInt32,
  FfiConverterInt64,
  FfiConverterUInt64,
  FfiConverterFloat32,
  FfiConverterFloat64,
  FfiConverterBoolean,
  FfiConverterBytes,
  FfiConverterString,
  UniFFICallbackHandler,
  UniFFICallbackMethodHandler,
  UniFFIError,
  UniFFIInternalError,
  UniFFITypeError,
  constructUniffiObject,
  handleRustResult,
  uniffiObjectPtr,
} from "moz-src:///toolkit/components/uniffi-js/js/UniFFI.sys.mjs";

// Objects intended to be used in the unit tests
export var UnitTestObjs = {
    uniffiObjectPtr,
};
/**
 * Global initialization routines for Rust components, when `logins/keydb` feature is activated. Must be
 * called before any other calls to Rust components.
 * 
 * Receives the path to the profile directory.
 * 
 * For adding additional initialization code: Note that this function is called very early in the
 * app lifetime and therefore affects the startup time. Only the most necessary things should be
 * done here.
 * @param {string} profilePath
 */
export async function initialize(
    profilePath) {
   
FfiConverterString.checkType(profilePath);
const result = await UniFFIScaffolding.callAsyncWrapper(
    13, // uniffi_init_rust_components_fn_func_initialize
    FfiConverterString.lower(profilePath),
)
return handleRustResult(
    result,
    (result) => undefined,
    null,
)
}




