+struct nativeFutureOpaque;
+typedef struct nativeFutureOpaque LDKnativeFuture;
+struct nativeSleeperOpaque;
+typedef struct nativeSleeperOpaque LDKnativeSleeper;
+struct nativeCounterpartyCommitmentSecretsOpaque;
+typedef struct nativeCounterpartyCommitmentSecretsOpaque LDKnativeCounterpartyCommitmentSecrets;
+struct nativeTxCreationKeysOpaque;
+typedef struct nativeTxCreationKeysOpaque LDKnativeTxCreationKeys;
+struct nativeChannelPublicKeysOpaque;
+typedef struct nativeChannelPublicKeysOpaque LDKnativeChannelPublicKeys;
+struct nativeHTLCOutputInCommitmentOpaque;
+typedef struct nativeHTLCOutputInCommitmentOpaque LDKnativeHTLCOutputInCommitment;
+struct nativeChannelTransactionParametersOpaque;
+typedef struct nativeChannelTransactionParametersOpaque LDKnativeChannelTransactionParameters;
+struct nativeCounterpartyChannelTransactionParametersOpaque;
+typedef struct nativeCounterpartyChannelTransactionParametersOpaque LDKnativeCounterpartyChannelTransactionParameters;
+struct nativeDirectedChannelTransactionParametersOpaque;
+typedef struct nativeDirectedChannelTransactionParametersOpaque LDKnativeDirectedChannelTransactionParameters;
+struct nativeHolderCommitmentTransactionOpaque;
+typedef struct nativeHolderCommitmentTransactionOpaque LDKnativeHolderCommitmentTransaction;
+struct nativeBuiltCommitmentTransactionOpaque;
+typedef struct nativeBuiltCommitmentTransactionOpaque LDKnativeBuiltCommitmentTransaction;
+struct nativeClosingTransactionOpaque;
+typedef struct nativeClosingTransactionOpaque LDKnativeClosingTransaction;
+struct nativeTrustedClosingTransactionOpaque;
+typedef struct nativeTrustedClosingTransactionOpaque LDKnativeTrustedClosingTransaction;
+struct nativeCommitmentTransactionOpaque;
+typedef struct nativeCommitmentTransactionOpaque LDKnativeCommitmentTransaction;
+struct nativeTrustedCommitmentTransactionOpaque;
+typedef struct nativeTrustedCommitmentTransactionOpaque LDKnativeTrustedCommitmentTransaction;
+struct nativeShutdownScriptOpaque;
+typedef struct nativeShutdownScriptOpaque LDKnativeShutdownScript;
+struct nativeInvalidShutdownScriptOpaque;
+typedef struct nativeInvalidShutdownScriptOpaque LDKnativeInvalidShutdownScript;
+struct nativeBolt12ParseErrorOpaque;
+typedef struct nativeBolt12ParseErrorOpaque LDKnativeBolt12ParseError;
+struct nativePacketOpaque;
+typedef struct nativePacketOpaque LDKnativePacket;
+struct nativeClaimedHTLCOpaque;
+typedef struct nativeClaimedHTLCOpaque LDKnativeClaimedHTLC;
+struct nativeBolt11InvoiceOpaque;
+typedef struct nativeBolt11InvoiceOpaque LDKnativeBolt11Invoice;
+struct nativeSignedRawBolt11InvoiceOpaque;
+typedef struct nativeSignedRawBolt11InvoiceOpaque LDKnativeSignedRawBolt11Invoice;
+struct nativeRawBolt11InvoiceOpaque;
+typedef struct nativeRawBolt11InvoiceOpaque LDKnativeRawBolt11Invoice;
+struct nativeRawDataPartOpaque;
+typedef struct nativeRawDataPartOpaque LDKnativeRawDataPart;
+struct nativePositiveTimestampOpaque;
+typedef struct nativePositiveTimestampOpaque LDKnativePositiveTimestamp;
+struct nativeSha256Opaque;
+typedef struct nativeSha256Opaque LDKnativeSha256;
+struct nativeDescriptionOpaque;
+typedef struct nativeDescriptionOpaque LDKnativeDescription;
+struct nativePayeePubKeyOpaque;
+typedef struct nativePayeePubKeyOpaque LDKnativePayeePubKey;
+struct nativeExpiryTimeOpaque;
+typedef struct nativeExpiryTimeOpaque LDKnativeExpiryTime;
+struct nativeMinFinalCltvExpiryDeltaOpaque;
+typedef struct nativeMinFinalCltvExpiryDeltaOpaque LDKnativeMinFinalCltvExpiryDelta;
+struct nativeBolt11InvoiceSignatureOpaque;
+typedef struct nativeBolt11InvoiceSignatureOpaque LDKnativeBolt11InvoiceSignature;
+struct nativePrivateRouteOpaque;
+typedef struct nativePrivateRouteOpaque LDKnativePrivateRoute;
+struct nativeOutPointOpaque;
+typedef struct nativeOutPointOpaque LDKnativeOutPoint;
+struct nativeBigSizeOpaque;
+typedef struct nativeBigSizeOpaque LDKnativeBigSize;
+struct nativeHostnameOpaque;
+typedef struct nativeHostnameOpaque LDKnativeHostname;
+struct nativeTransactionU16LenLimitedOpaque;
+typedef struct nativeTransactionU16LenLimitedOpaque LDKnativeTransactionU16LenLimited;
+struct nativeUntrustedStringOpaque;
+typedef struct nativeUntrustedStringOpaque LDKnativeUntrustedString;
+struct nativePrintableStringOpaque;
+typedef struct nativePrintableStringOpaque LDKnativePrintableString;
+struct nativeForwardNodeOpaque;
+typedef struct nativeForwardNodeOpaque LDKnativeForwardNode;
+struct nativeForwardTlvsOpaque;
+typedef struct nativeForwardTlvsOpaque LDKnativeForwardTlvs;
+struct nativeReceiveTlvsOpaque;
+typedef struct nativeReceiveTlvsOpaque LDKnativeReceiveTlvs;
+struct nativePaymentRelayOpaque;
+typedef struct nativePaymentRelayOpaque LDKnativePaymentRelay;
+struct nativePaymentConstraintsOpaque;
+typedef struct nativePaymentConstraintsOpaque LDKnativePaymentConstraints;
+struct nativeUtxoFutureOpaque;
+typedef struct nativeUtxoFutureOpaque LDKnativeUtxoFuture;
+struct nativeOnionMessengerOpaque;
+typedef struct nativeOnionMessengerOpaque LDKnativeOnionMessenger;
+struct nativeDefaultMessageRouterOpaque;
+typedef struct nativeDefaultMessageRouterOpaque LDKnativeDefaultMessageRouter;
+struct nativeOnionMessagePathOpaque;
+typedef struct nativeOnionMessagePathOpaque LDKnativeOnionMessagePath;
+struct nativeFilesystemStoreOpaque;
+typedef struct nativeFilesystemStoreOpaque LDKnativeFilesystemStore;
+struct nativeBlindedPathOpaque;
+typedef struct nativeBlindedPathOpaque LDKnativeBlindedPath;
+struct nativeBlindedHopOpaque;
+typedef struct nativeBlindedHopOpaque LDKnativeBlindedHop;
+struct nativeInvoiceErrorOpaque;
+typedef struct nativeInvoiceErrorOpaque LDKnativeInvoiceError;
+struct nativeErroneousFieldOpaque;
+typedef struct nativeErroneousFieldOpaque LDKnativeErroneousField;