internal static extern int indy_register_wallet_storage(int command_handle, string type_, WalletCreateDelegate create, WalletOpenDelegate open, WalletCloseDelegate close, WalletDeleteDelegate delete, WalletAddRecordDelegate add_record, WalletUpdateRecordValueDelegate update_record_value, WalletUpdateRecordTagsDelegate update_record_tags, WalletAddRecordTagsDelegate add_record_tags, WalletDeleteRecordTagsDelegate delete_record_tags, WalletDeleteRecordDelegate delete_record, WalletGetRecordDelegate get_record, WalletGetRecordIdDelegate get_record_id, WalletGetRecordTypeDelegate get_record_type, WalletGetRecordValueDelegate get_record_value, WalletGetRecordTagsDelegate get_record_tags, WalletFreeRecordDelegate free_record, WalletGetStorageMetadataDelegate get_storage_metadata, WalletSetStorageMetadataDelegate set_storage_metadata, WalletFreeStorageMetadataDelegate free_storage_metadata, WalletSearchRecordsDelegate search_records, WalletSearchAllRecordsDelegate search_all_records, WalletGetSearchTotalCountDelegate get_search_total_count, WalletFetchSearchNextRecordDelegate fetch_search_next_record, WalletFreeSearchDelegate free_search, IndyMethodCompletedDelegate cb);
internal static extern int indy_register_payment_method(int command_handle, string payment_method, CreatePaymentAddressCallbackDelegate create_payment_address, AddRequestFeesCallbackDelegate add_request_fees, ParseResponseWithFeesCallbackDelegate parse_response_with_fees, BuildGetUtxoRequstCallbackDelegate build_get_utxo_request, ParseGetUtxoResponseCallbackDelegate parse_get_utxo_response, BuildPaymentRequestCallbackDelegate build_payment_req, ParsePaymentResponseCallbackDelegate parse_payment_response, BuildMintReqCallbackDelegate build_mint_req, BuildSetTxnFeesReqCallbackDelegate build_set_txn_fees_req, BuildGetTxnFeesReqCallbackDelegate build_get_txn_fees_req, ParseGetTxnFeesResponseCallbackDelegate parse_get_txn_fees_response, IndyMethodCompletedDelegate cb);
internal static extern int indy_prover_create_master_secret(int command_handle, IntPtr wallet_handle, string master_secret_name, IndyMethodCompletedDelegate cb);
internal static extern int indy_issuer_rotate_credential_def_apply(int command_handle, int wallet_handle, string cred_def_id, IndyMethodCompletedDelegate cb);
internal static extern int indy_close_wallet(int command_handle, int wallet_handle, IndyMethodCompletedDelegate cb);
internal static extern int indy_set_protocol_version(int command_handle, int protocol_version, IndyMethodCompletedDelegate cb);
internal static extern int indy_delete_pool_ledger_config(int command_handle, string config_name, IndyMethodCompletedDelegate cb);
internal static extern int indy_replace_keys_apply(int command_handle, int wallet_handle, string did, IndyMethodCompletedDelegate cb);
internal static extern int indy_set_endpoint_for_did(int command_handle, int wallet_handle, string did, string address, string transport_key, IndyMethodCompletedDelegate cb);
internal static extern int indy_close_wallet_search(int command_handle, IntPtr wallet_search_handle, IndyMethodCompletedDelegate cb);
internal static extern int indy_delete_wallet_record_tags(int command_handle, IntPtr wallet_handle, string type_, string id, string tag_names_json, IndyMethodCompletedDelegate cb);
internal static extern int indy_update_wallet_record_value(int command_handle, IntPtr wallet_handle, string type_, string id, string value, IndyMethodCompletedDelegate cb);
internal static extern int indy_set_key_metadata(int command_handle, IntPtr wallet_handle, string verkey, string metadata, IndyMethodCompletedDelegate cb);
internal static extern int indy_register_wallet_type(int command_handle, string xtype, WalletTypeCreateDelegate create, WalletTypeOpenDelegate open, WalletTypeSetDelegate set, WalletTypeGetDelegate get, WalletTypeGetNotExpiredDelegate get_not_expired, WalletTypeListDelegate list, WalletTypeCloseDelegate close, WalletTypeDeleteDelegate delete, WalletTypeFreeDelegate free, IndyMethodCompletedDelegate cb);
internal static extern int indy_prover_close_credentials_search(int command_handle, IntPtr search_handle, IndyMethodCompletedDelegate cb);
internal static extern int indy_prover_store_claim(int command_handle, IntPtr wallet_handle, string claims_json, string rev_reg_json, IndyMethodCompletedDelegate cb);
internal static extern int indy_refresh_pool_ledger(int command_handle, IntPtr handle, IndyMethodCompletedDelegate cb);
internal static extern int indy_delete_wallet_record(int command_handle, int wallet_handle, string type_, string id, IndyMethodCompletedDelegate cb);
internal static extern int indy_set_did_metadata(int command_handle, int wallet_handle, string did, string metadata, IndyMethodCompletedDelegate cb);
internal static extern int indy_add_wallet_record(int command_handle, int wallet_handle, string type_, string id, string value, string tags_json, IndyMethodCompletedDelegate cb);
internal static extern int indy_store_their_did(int command_handle, int wallet_handle, string identity_json, IndyMethodCompletedDelegate cb);
internal static extern int indy_prover_delete_credential(int command_handle, int wallet_handle, string cred_id, IndyMethodCompletedDelegate cb);
internal static extern int indy_close_pool_ledger(int command_handle, int handle, IndyMethodCompletedDelegate cb);
internal static extern int indy_prover_close_credentials_search_for_proof_req(int command_handle, int search_handle, IndyMethodCompletedDelegate cb);
internal static extern int indy_export_wallet(int command_handle, int wallet_handle, string export_config, IndyMethodCompletedDelegate cb);
internal static extern int indy_create_pairwise(int command_handle, int wallet_handle, string their_did, string my_did, string metadata, IndyMethodCompletedDelegate cb);
internal static extern int indy_create_wallet(int command_handle, string config, string credentials, IndyMethodCompletedDelegate cb);
internal static extern int indy_set_pairwise_metadata(int command_handle, IntPtr wallet_handle, string their_did, string metadata, IndyMethodCompletedDelegate cb);