docs: async def import_wallet(config: str,
                          credentials: str,
                          import_config_json: str) -> None:
      """
      Creates a new secure wallet with the given unique name and then imports its content
      according to fields provided in import_config
      This can be seen as an indy_create_wallet call with additional content import
  
      :param config: Wallet configuration json.
       {
         "id": string, Identifier of the wallet.
               Configured storage uses this identifier to lookup exact wallet data placement.
         "storage_type": optional<string>, Type of the wallet storage. Defaults to 'default'.
                        'Default' storage type allows to store wallet data in the local file.
                        Custom storage types can be registered with indy_register_wallet_storage call.
         "storage_config": optional<object>, Storage configuration json. Storage type defines set of supported keys.
                           Can be optional if storage supports default configuration.
                           For 'default' storage type configuration is:
         {
           "path": optional<string>, Path to the directory with wallet files.
                   Defaults to $HOME/.indy_client/wallet.
                   Wallet will be stored in the file {path}/{id}/sqlite.db
         }
       }
      :param credentials: Wallet credentials json
       {
         "key": string, Key or passphrase used for wallet key derivation.
                        Look to key_derivation_method param for information about supported key derivation methods.
         "storage_credentials": optional<object> Credentials for wallet storage. Storage type defines set of supported keys.
                                Can be optional if storage supports default configuration.
                                For 'default' storage type should be empty.
         "key_derivation_method": optional<string> Algorithm to use for wallet key derivation:
                                   ARGON2I_MOD - derive secured wallet master key (used by default)
                                   ARGON2I_INT - derive secured wallet master key (less secured but faster)
                                   RAW - raw wallet key master provided (skip derivation).
                                         RAW keys can be generated with generate_wallet_key call
       }
      :param import_config_json: JSON containing settings for input operationЖ {
       "path": path of the file that contains exported wallet content
       "key": key used for export of the wallet
     }
      :return: Error code
      """
  
      logger = logging.getLogger(__name__)
      logger.debug("import_wallet: >>> config: %r, credentials: %r, import_config_json: %r",
                   config,
                   credentials,
                   import_config_json)
  
      if not hasattr(import_wallet, "cb"):
          logger.debug("import_wallet: Creating callback")
          import_wallet.cb = create_cb(CFUNCTYPE(None, c_int32, c_int32))
  
      c_config = c_char_p(config.encode('utf-8'))
      c_credentials = c_char_p(credentials.encode('utf-8'))
      c_import_config_json = c_char_p(import_config_json.encode('utf-8'))
  
      await do_call('indy_import_wallet',
                    c_config,
                    c_credentials,
                    c_import_config_json,
                    import_wallet.cb)
  
      logger.debug("import_wallet: <<<")