+struct nativeShutdownScriptOpaque;
+typedef struct nativeShutdownScriptOpaque LDKnativeShutdownScript;
+struct nativeInvalidShutdownScriptOpaque;
+typedef struct nativeInvalidShutdownScriptOpaque LDKnativeInvalidShutdownScript;
+struct nativeBlindedPathOpaque;
+typedef struct nativeBlindedPathOpaque LDKnativeBlindedPath;
+struct nativeBlindedHopOpaque;
+typedef struct nativeBlindedHopOpaque LDKnativeBlindedHop;
+struct nativeBackgroundProcessorOpaque;
+typedef struct nativeBackgroundProcessorOpaque LDKnativeBackgroundProcessor;
+struct nativeDefaultRouterOpaque;
+typedef struct nativeDefaultRouterOpaque LDKnativeDefaultRouter;
+struct nativeScorerAccountingForInFlightHtlcsOpaque;
+typedef struct nativeScorerAccountingForInFlightHtlcsOpaque LDKnativeScorerAccountingForInFlightHtlcs;
+struct nativeInFlightHtlcsOpaque;
+typedef struct nativeInFlightHtlcsOpaque LDKnativeInFlightHtlcs;
+struct nativeRouteHopOpaque;
+typedef struct nativeRouteHopOpaque LDKnativeRouteHop;
+struct nativeRouteOpaque;
+typedef struct nativeRouteOpaque LDKnativeRoute;
+struct nativeRouteParametersOpaque;
+typedef struct nativeRouteParametersOpaque LDKnativeRouteParameters;
+struct nativePaymentParametersOpaque;
+typedef struct nativePaymentParametersOpaque LDKnativePaymentParameters;
+struct nativeRouteHintOpaque;
+typedef struct nativeRouteHintOpaque LDKnativeRouteHint;
+struct nativeRouteHintHopOpaque;
+typedef struct nativeRouteHintHopOpaque LDKnativeRouteHintHop;
+struct nativeBestBlockOpaque;
+typedef struct nativeBestBlockOpaque LDKnativeBestBlock;
+struct nativeWatchedOutputOpaque;
+typedef struct nativeWatchedOutputOpaque LDKnativeWatchedOutput;
+struct nativeMultiThreadedLockableScoreOpaque;
+typedef struct nativeMultiThreadedLockableScoreOpaque LDKnativeMultiThreadedLockableScore;
+struct nativeMultiThreadedScoreLockOpaque;
+typedef struct nativeMultiThreadedScoreLockOpaque LDKnativeMultiThreadedScoreLock;
+struct nativeChannelUsageOpaque;
+typedef struct nativeChannelUsageOpaque LDKnativeChannelUsage;
+struct nativeFixedPenaltyScorerOpaque;
+typedef struct nativeFixedPenaltyScorerOpaque LDKnativeFixedPenaltyScorer;
+struct nativeProbabilisticScorerOpaque;
+typedef struct nativeProbabilisticScorerOpaque LDKnativeProbabilisticScorer;
+struct nativeProbabilisticScoringParametersOpaque;
+typedef struct nativeProbabilisticScoringParametersOpaque LDKnativeProbabilisticScoringParameters;
+struct nativeInitFeaturesOpaque;
+typedef struct nativeInitFeaturesOpaque LDKnativeInitFeatures;
+struct nativeNodeFeaturesOpaque;
+typedef struct nativeNodeFeaturesOpaque LDKnativeNodeFeatures;
+struct nativeChannelFeaturesOpaque;
+typedef struct nativeChannelFeaturesOpaque LDKnativeChannelFeatures;
+struct nativeInvoiceFeaturesOpaque;
+typedef struct nativeInvoiceFeaturesOpaque LDKnativeInvoiceFeatures;
+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 nativeNodeIdOpaque;
+typedef struct nativeNodeIdOpaque LDKnativeNodeId;
+struct nativeNetworkGraphOpaque;
+typedef struct nativeNetworkGraphOpaque LDKnativeNetworkGraph;
+struct nativeReadOnlyNetworkGraphOpaque;
+typedef struct nativeReadOnlyNetworkGraphOpaque LDKnativeReadOnlyNetworkGraph;
+struct nativeP2PGossipSyncOpaque;
+typedef struct nativeP2PGossipSyncOpaque LDKnativeP2PGossipSync;
+struct nativeChannelUpdateInfoOpaque;
+typedef struct nativeChannelUpdateInfoOpaque LDKnativeChannelUpdateInfo;
+struct nativeChannelInfoOpaque;
+typedef struct nativeChannelInfoOpaque LDKnativeChannelInfo;
+struct nativeDirectedChannelInfoOpaque;
+typedef struct nativeDirectedChannelInfoOpaque LDKnativeDirectedChannelInfo;
+struct nativeRoutingFeesOpaque;
+typedef struct nativeRoutingFeesOpaque LDKnativeRoutingFees;
+struct nativeNodeAnnouncementInfoOpaque;
+typedef struct nativeNodeAnnouncementInfoOpaque LDKnativeNodeAnnouncementInfo;
+struct nativeNodeAliasOpaque;
+typedef struct nativeNodeAliasOpaque LDKnativeNodeAlias;
+struct nativeNodeInfoOpaque;
+typedef struct nativeNodeInfoOpaque LDKnativeNodeInfo;
+struct nativeDelayedPaymentOutputDescriptorOpaque;
+typedef struct nativeDelayedPaymentOutputDescriptorOpaque LDKnativeDelayedPaymentOutputDescriptor;
+struct nativeStaticPaymentOutputDescriptorOpaque;
+typedef struct nativeStaticPaymentOutputDescriptorOpaque LDKnativeStaticPaymentOutputDescriptor;
+struct LDKChannelSigner;
+struct nativeInMemorySignerOpaque;
+typedef struct nativeInMemorySignerOpaque LDKnativeInMemorySigner;
+struct nativeKeysManagerOpaque;
+typedef struct nativeKeysManagerOpaque LDKnativeKeysManager;
+struct nativePhantomKeysManagerOpaque;
+typedef struct nativePhantomKeysManagerOpaque LDKnativePhantomKeysManager;
+struct nativeFilesystemPersisterOpaque;
+typedef struct nativeFilesystemPersisterOpaque LDKnativeFilesystemPersister;
+struct nativeChannelManagerOpaque;
+typedef struct nativeChannelManagerOpaque LDKnativeChannelManager;
+struct nativeChainParametersOpaque;
+typedef struct nativeChainParametersOpaque LDKnativeChainParameters;
+struct nativeCounterpartyForwardingInfoOpaque;
+typedef struct nativeCounterpartyForwardingInfoOpaque LDKnativeCounterpartyForwardingInfo;
+struct nativeChannelCounterpartyOpaque;
+typedef struct nativeChannelCounterpartyOpaque LDKnativeChannelCounterparty;
+struct nativeChannelDetailsOpaque;
+typedef struct nativeChannelDetailsOpaque LDKnativeChannelDetails;
+struct nativePhantomRouteHintsOpaque;
+typedef struct nativePhantomRouteHintsOpaque LDKnativePhantomRouteHints;
+struct nativeChannelManagerReadArgsOpaque;
+typedef struct nativeChannelManagerReadArgsOpaque LDKnativeChannelManagerReadArgs;
+struct nativeChannelHandshakeConfigOpaque;
+typedef struct nativeChannelHandshakeConfigOpaque LDKnativeChannelHandshakeConfig;
+struct nativeChannelHandshakeLimitsOpaque;
+typedef struct nativeChannelHandshakeLimitsOpaque LDKnativeChannelHandshakeLimits;
+struct nativeChannelConfigOpaque;
+typedef struct nativeChannelConfigOpaque LDKnativeChannelConfig;
+struct nativeUserConfigOpaque;
+typedef struct nativeUserConfigOpaque LDKnativeUserConfig;
+struct nativeBigSizeOpaque;
+typedef struct nativeBigSizeOpaque LDKnativeBigSize;
+struct nativeHostnameOpaque;
+typedef struct nativeHostnameOpaque LDKnativeHostname;
+struct nativePrintableStringOpaque;
+typedef struct nativePrintableStringOpaque LDKnativePrintableString;
+struct nativeOutPointOpaque;
+typedef struct nativeOutPointOpaque LDKnativeOutPoint;
+struct nativeChannelMonitorUpdateOpaque;
+typedef struct nativeChannelMonitorUpdateOpaque LDKnativeChannelMonitorUpdate;
+struct nativeHTLCUpdateOpaque;
+typedef struct nativeHTLCUpdateOpaque LDKnativeHTLCUpdate;
+struct nativeChannelMonitorOpaque;
+typedef struct nativeChannelMonitorOpaque LDKnativeChannelMonitor;
+struct nativeExpandedKeyOpaque;
+typedef struct nativeExpandedKeyOpaque LDKnativeExpandedKey;
+struct nativeIgnoringMessageHandlerOpaque;
+typedef struct nativeIgnoringMessageHandlerOpaque LDKnativeIgnoringMessageHandler;
+struct nativeErroringMessageHandlerOpaque;
+typedef struct nativeErroringMessageHandlerOpaque LDKnativeErroringMessageHandler;
+struct nativeMessageHandlerOpaque;
+typedef struct nativeMessageHandlerOpaque LDKnativeMessageHandler;
+struct nativePeerHandleErrorOpaque;
+typedef struct nativePeerHandleErrorOpaque LDKnativePeerHandleError;
+struct nativePeerManagerOpaque;
+typedef struct nativePeerManagerOpaque LDKnativePeerManager;
+struct nativeUtxoFutureOpaque;
+typedef struct nativeUtxoFutureOpaque LDKnativeUtxoFuture;
+struct nativeOnionMessengerOpaque;
+typedef struct nativeOnionMessengerOpaque LDKnativeOnionMessenger;