<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def export_wallet(handle: int, export_config_json: str) -> None: """ Exports opened wallet to the file. :param handle: wallet handle returned by indy_open_wallet. :param export_config_json: JSON containing settings for input operation. { "path": path of the file that contains exported wallet content "key": string, Key or passphrase used for wallet export key derivation. Look to key_derivation_method param for information about supported key derivation methods. "key_derivation_method": optional<string> algorithm to use for export key derivation: ARGON2I_MOD - derive secured wallet export key (used by default) ARGON2I_INT - derive secured wallet export key (less secured but faster) RAW - raw wallet export key provided (skip derivation). RAW keys can be generated with generate_wallet_key call } :return: """


    logger = logging.getLogger(__name__)
    logger.debug("export_wallet: >>> handle: %r, export_config_json: %r",
                 handle,
                 export_config_json)

    if not hasattr(export_wallet, "cb"):
        logger.debug("export_wallet: Creating callback")
        export_wallet.cb = create_cb(CFUNCTYPE(None, c_int32, c_int32))

    c_export_config_json = c_char_p(export_config_json.encode('utf-8'))

    await do_call('indy_export_wallet',
                  handle,
                  c_export_config_json,
                  export_wallet.cb)

    logger.debug("export_wallet: <<<")