+struct nativeFinalOnionHopDataOpaque;
+typedef struct nativeFinalOnionHopDataOpaque LDKnativeFinalOnionHopData;
+struct nativeOnionPacketOpaque;
+typedef struct nativeOnionPacketOpaque LDKnativeOnionPacket;
+struct nativeTrampolineOnionPacketOpaque;
+typedef struct nativeTrampolineOnionPacketOpaque LDKnativeTrampolineOnionPacket;
+struct nativeRecordOpaque;
+typedef struct nativeRecordOpaque LDKnativeRecord;
+struct nativeInboundHTLCDetailsOpaque;
+typedef struct nativeInboundHTLCDetailsOpaque LDKnativeInboundHTLCDetails;
+struct nativeOutboundHTLCDetailsOpaque;
+typedef struct nativeOutboundHTLCDetailsOpaque LDKnativeOutboundHTLCDetails;
+struct nativeCounterpartyForwardingInfoOpaque;
+typedef struct nativeCounterpartyForwardingInfoOpaque LDKnativeCounterpartyForwardingInfo;
+struct nativeChannelCounterpartyOpaque;
+typedef struct nativeChannelCounterpartyOpaque LDKnativeChannelCounterparty;
+struct nativeChannelDetailsOpaque;
+typedef struct nativeChannelDetailsOpaque LDKnativeChannelDetails;
+struct nativeFutureOpaque;
+typedef struct nativeFutureOpaque LDKnativeFuture;
+struct nativeSleeperOpaque;
+typedef struct nativeSleeperOpaque LDKnativeSleeper;
+struct nativeHeldHtlcAvailableOpaque;
+typedef struct nativeHeldHtlcAvailableOpaque LDKnativeHeldHtlcAvailable;
+struct nativeReleaseHeldHtlcOpaque;
+typedef struct nativeReleaseHeldHtlcOpaque LDKnativeReleaseHeldHtlc;
+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 nativeReplayEventOpaque;
+typedef struct nativeReplayEventOpaque LDKnativeReplayEvent;
+struct nativeNonceOpaque;
+typedef struct nativeNonceOpaque LDKnativeNonce;
+struct nativeRoutingFeesOpaque;
+typedef struct nativeRoutingFeesOpaque LDKnativeRoutingFees;
+struct nativeRouteHintOpaque;
+typedef struct nativeRouteHintOpaque LDKnativeRouteHint;
+struct nativeRouteHintHopOpaque;
+typedef struct nativeRouteHintHopOpaque LDKnativeRouteHintHop;
+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 nativeChannelIdOpaque;
+typedef struct nativeChannelIdOpaque LDKnativeChannelId;
+struct nativeBlindedPayInfoOpaque;
+typedef struct nativeBlindedPayInfoOpaque LDKnativeBlindedPayInfo;
+struct nativeBlindedPaymentPathOpaque;
+typedef struct nativeBlindedPaymentPathOpaque LDKnativeBlindedPaymentPath;
+struct nativePaymentForwardNodeOpaque;
+typedef struct nativePaymentForwardNodeOpaque LDKnativePaymentForwardNode;
+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 nativeUnknownPaymentContextOpaque;
+typedef struct nativeUnknownPaymentContextOpaque LDKnativeUnknownPaymentContext;
+struct nativeBolt12OfferContextOpaque;
+typedef struct nativeBolt12OfferContextOpaque LDKnativeBolt12OfferContext;
+struct nativeBolt12RefundContextOpaque;
+typedef struct nativeBolt12RefundContextOpaque LDKnativeBolt12RefundContext;
+struct nativeUtxoFutureOpaque;
+typedef struct nativeUtxoFutureOpaque LDKnativeUtxoFuture;
+struct nativeOnionMessengerOpaque;
+typedef struct nativeOnionMessengerOpaque LDKnativeOnionMessenger;
+struct nativeResponderOpaque;
+typedef struct nativeResponderOpaque LDKnativeResponder;
+struct nativeResponseInstructionOpaque;
+typedef struct nativeResponseInstructionOpaque LDKnativeResponseInstruction;
+struct nativeDefaultMessageRouterOpaque;
+typedef struct nativeDefaultMessageRouterOpaque LDKnativeDefaultMessageRouter;
+struct nativeOnionMessagePathOpaque;
+typedef struct nativeOnionMessagePathOpaque LDKnativeOnionMessagePath;
+struct nativeFilesystemStoreOpaque;
+typedef struct nativeFilesystemStoreOpaque LDKnativeFilesystemStore;
+struct nativeInitFeaturesOpaque;
+typedef struct nativeInitFeaturesOpaque LDKnativeInitFeatures;
+struct nativeNodeFeaturesOpaque;
+typedef struct nativeNodeFeaturesOpaque LDKnativeNodeFeatures;
+struct nativeChannelFeaturesOpaque;
+typedef struct nativeChannelFeaturesOpaque LDKnativeChannelFeatures;
+struct nativeBolt11InvoiceFeaturesOpaque;
+typedef struct nativeBolt11InvoiceFeaturesOpaque LDKnativeBolt11InvoiceFeatures;
+struct nativeOfferFeaturesOpaque;
+typedef struct nativeOfferFeaturesOpaque LDKnativeOfferFeatures;
+struct nativeInvoiceRequestFeaturesOpaque;
+typedef struct nativeInvoiceRequestFeaturesOpaque LDKnativeInvoiceRequestFeatures;
+struct nativeBolt12InvoiceFeaturesOpaque;
+typedef struct nativeBolt12InvoiceFeaturesOpaque LDKnativeBolt12InvoiceFeatures;
+struct nativeBlindedHopFeaturesOpaque;
+typedef struct nativeBlindedHopFeaturesOpaque LDKnativeBlindedHopFeatures;
+struct nativeChannelTypeFeaturesOpaque;
+typedef struct nativeChannelTypeFeaturesOpaque LDKnativeChannelTypeFeatures;
+struct nativeEmptyNodeIdLookUpOpaque;
+typedef struct nativeEmptyNodeIdLookUpOpaque LDKnativeEmptyNodeIdLookUp;
+struct nativeBlindedHopOpaque;
+typedef struct nativeBlindedHopOpaque LDKnativeBlindedHop;
+struct nativeInvoiceErrorOpaque;
+typedef struct nativeInvoiceErrorOpaque LDKnativeInvoiceError;
+struct nativeErroneousFieldOpaque;
+typedef struct nativeErroneousFieldOpaque LDKnativeErroneousField;
+struct nativeTrackedSpendableOutputOpaque;
+typedef struct nativeTrackedSpendableOutputOpaque LDKnativeTrackedSpendableOutput;
+struct nativeOutputSweeperOpaque;
+typedef struct nativeOutputSweeperOpaque LDKnativeOutputSweeper;
+struct nativeDelayedPaymentBasepointOpaque;
+typedef struct nativeDelayedPaymentBasepointOpaque LDKnativeDelayedPaymentBasepoint;
+struct nativeDelayedPaymentKeyOpaque;
+typedef struct nativeDelayedPaymentKeyOpaque LDKnativeDelayedPaymentKey;
+struct nativeHtlcBasepointOpaque;
+typedef struct nativeHtlcBasepointOpaque LDKnativeHtlcBasepoint;
+struct nativeHtlcKeyOpaque;
+typedef struct nativeHtlcKeyOpaque LDKnativeHtlcKey;
+struct nativeRevocationBasepointOpaque;
+typedef struct nativeRevocationBasepointOpaque LDKnativeRevocationBasepoint;
+struct nativeRevocationKeyOpaque;
+typedef struct nativeRevocationKeyOpaque LDKnativeRevocationKey;
+struct nativeLockedChannelMonitorOpaque;
+typedef struct nativeLockedChannelMonitorOpaque LDKnativeLockedChannelMonitor;