// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { DemoPipeline2LocalDecodedEventDiagnosticSummary } from "./DemoPipeline2LocalDecodedEventDiagnosticSummary";
import type { DemoPipeline2LocalDexDiagnosticSummary } from "./DemoPipeline2LocalDexDiagnosticSummary";
import type { DemoPipeline2LocalDuplicateDecodedEventTradeDiagnosticSample } from "./DemoPipeline2LocalDuplicateDecodedEventTradeDiagnosticSample";
import type { DemoPipeline2LocalEventClassificationDiagnosticSummary } from "./DemoPipeline2LocalEventClassificationDiagnosticSummary";
import type { DemoPipeline2LocalLaunchOriginDiagnosticSample } from "./DemoPipeline2LocalLaunchOriginDiagnosticSample";
import type { DemoPipeline2LocalMissingTradeEventDiagnosticSample } from "./DemoPipeline2LocalMissingTradeEventDiagnosticSample";
import type { DemoPipeline2LocalMissingTradeEventReasonSummary } from "./DemoPipeline2LocalMissingTradeEventReasonSummary";
import type { DemoPipeline2LocalMultiTradeSignaturePairDiagnosticSample } from "./DemoPipeline2LocalMultiTradeSignaturePairDiagnosticSample";
import type { DemoPipeline2LocalNonActionablePairDiagnosticSummary } from "./DemoPipeline2LocalNonActionablePairDiagnosticSummary";
import type { DemoPipeline2LocalPairActionabilityDiagnosticSummary } from "./DemoPipeline2LocalPairActionabilityDiagnosticSummary";
import type { DemoPipeline2LocalPairDiagnosticSummary } from "./DemoPipeline2LocalPairDiagnosticSummary";
import type { DemoPipeline2LocalPairGapDiagnosticSample } from "./DemoPipeline2LocalPairGapDiagnosticSample";
import type { DemoPipeline2LocalPairTradingReadinessDiagnosticSummary } from "./DemoPipeline2LocalPairTradingReadinessDiagnosticSummary";
import type { DemoPipeline2LocalPoolOriginDiagnosticSample } from "./DemoPipeline2LocalPoolOriginDiagnosticSample";
import type { DemoPipeline2LocalTokenMetadataGapDiagnosticSample } from "./DemoPipeline2LocalTokenMetadataGapDiagnosticSample";

/**
 * Local pipeline diagnostics summary for the UI.
 */
export type DemoPipeline2LocalPipelineDiagnosticSummary = { 
/**
 * Total persisted chain transactions.
 */
transactionCount: number, 
/**
 * Total successful chain transactions.
 */
okTransactionCount: number, 
/**
 * Total failed chain transactions.
 */
failedTransactionCount: number, 
/**
 * Total decoded DEX events.
 */
decodedEventCount: number, 
/**
 * Total decoded DEX trade candidates.
 */
decodedTradeCandidateCount: number, 
/**
 * Total decoded DEX candle candidates.
 */
decodedCandleCandidateCount: number, 
/**
 * Total decoded useful non-trade events.
 */
decodedNonTradeUsefulEventCount: number, 
/**
 * Total decoded swap-like events that are intentionally non-actionable.
 */
decodedNonActionableTradeEventCount: number, 
/**
 * Total decoded events with unknown classification.
 */
decodedUnknownEventCount: number, 
/**
 * Total persisted liquidity events.
 */
liquidityEventCount: number, 
/**
 * Total persisted pool lifecycle events.
 */
poolLifecycleEventCount: number, 
/**
 * Total persisted fee events.
 */
feeEventCount: number, 
/**
 * Total persisted reward events.
 */
rewardEventCount: number, 
/**
 * Total persisted pool administration events.
 */
poolAdminEventCount: number, 
/**
 * Event coverage entries listed from upstream registry sources.
 */
eventCoverageListedEntryCount: number, 
/**
 * Event coverage entries mapped to local decoder event kinds.
 */
eventCoverageDecodedEntryCount: number, 
/**
 * Event coverage entries observed in local corpus.
 */
eventCoverageObservedEntryCount: number, 
/**
 * Event coverage entries materialized into target tables.
 */
eventCoverageMaterializedEntryCount: number, 
/**
 * Coverage rows whose mapped events are not locally observed yet.
 */
eventCoverageUpstreamGitMappedUnverifiedEntryCount: number, 
/**
 * Whether the local persisted pipeline has no blocking diagnostic issue.
 */
diagnosticsClean: boolean, 
/**
 * Number of blocking diagnostic issues.
 */
blockingIssueCount: number, 
/**
 * Total trade candidates without trade event, including ignored failed transactions.
 */
missingTradeEventCount: number, 
/**
 * Explicit alias for decoded trade candidates without linked trade event.
 */
decodedTradeCandidateWithoutTradeEventCount: number, 
/**
 * Trade candidates without linked trade event on successful transactions.
 */
decodedTradeCandidateWithoutTradeEventOnOkTransactionCount: number, 
/**
 * Trade candidates without linked trade event on failed transactions.
 */
decodedTradeCandidateWithoutTradeEventOnFailedTransactionCount: number, 
/**
 * Trade candidates without linked trade event and without explicit base/quote payload amounts.
 * Actionable missing trade events on successful transactions.
 */
actionableMissingTradeEventCount: number, 
/**
 * Ignored missing trade events caused by failed transactions.
 */
ignoredFailedTransactionTradeCandidateCount: number, decodedTradeCandidateWithoutAmountPayloadCount: number, 
/**
 * Total persisted trade events.
 */
tradeEventCount: number, 
/**
 * Total invalid trade events.
 */
invalidTradeEventCount: number, 
/**
 * Total persisted pair candles.
 */
pairCandleCount: number, 
/**
 * Real duplicate trade rows grouped by decoded event id.
 */
duplicateDecodedEventTradeCount: number, 
/**
 * Multi-trade groups sharing the same signature and pair id.
 */
multiTradeSignaturePairCount: number, 
/**
 * Total duplicate candle buckets.
 */
duplicateCandleBucketCount: number, 
/**
 * Total known tokens.
 */
tokenCount: number, 
/**
 * Total tokens missing symbol or name.
 */
tokenMetadataMissingCount: number, 
/**
 * Total tokens used by trade-materialized pairs that still miss symbol or name.
 */
tradableTokenMetadataMissingCount: number, 
/**
 * Total quote-side tokens used by pairs that still miss symbol or name.
 */
quoteTokenMetadataMissingCount: number, 
/**
 * Total pairs whose display symbol is missing or still falls back to raw mints.
 */
pairSymbolFallbackCount: number, 
/**
 * Total pairs whose display symbol is present and does not include raw mints.
 */
pairSymbolResolvedCount: number, 
/**
 * Total pairs whose quote token is WSOL.
 */
wsolQuotePairCount: number, 
/**
 * Total pairs whose quote token is a known stable quote.
 */
stableQuotePairCount: number, 
/**
 * Total known pools.
 */
poolCount: number, 
/**
 * Total known pairs.
 */
pairCount: number, 
/**
 * Stable explanation for legacy pair gap counters.
 */
pairGapCounterSemantics: string, 
/**
 * Total pairs without any persisted trade event.
 */
literalPairWithoutTradeCount: number, 
/**
 * Total pairs without any persisted candle.
 */
literalPairWithoutCandleCount: number, 
/**
 * Total pairs that have at least one persisted trade event.
 */
tradeMaterializedPairCount: number, 
/**
 * Total pairs that have at least one persisted candle bucket.
 */
candleMaterializedPairCount: number, 
/**
 * Total pairs with at least one successful decoded trade candidate.
 */
actionablePairCount: number, 
/**
 * Total distinct candle timeframes currently materialized.
 */
candleBucketTimeframeCount: number, 
/**
 * Whether candle rows are bucketed aggregates rather than one row per trade.
 */
candlesAreBucketed: boolean, 
/**
 * Total pairs without trade among actionable successful trade candidates.
 */
blockingPairWithoutTradeCount: number, 
/**
 * Total pairs without candle among actionable successful candle candidates.
 */
blockingPairWithoutCandleCount: number, 
/**
 * Total pairs without trade. Legacy alias for blocking/actionable gaps.
 */
pairWithoutTradeCount: number, 
/**
 * Total pairs without candle. Legacy alias for blocking/actionable gaps.
 */
pairWithoutCandleCount: number, 
/**
 * Diagnostics grouped by DEX.
 */
dexSummaries: Array<DemoPipeline2LocalDexDiagnosticSummary>, 
/**
 * Diagnostics grouped by pair.
 */
pairSummaries: Array<DemoPipeline2LocalPairDiagnosticSummary>, 
/**
 * Diagnostics grouped by pair materialization/actionability class.
 */
pairActionabilitySummaries: Array<DemoPipeline2LocalPairActionabilityDiagnosticSummary>, 
/**
 * Diagnostics grouped by pair trading-readiness class.
 */
pairTradingReadinessSummaries: Array<DemoPipeline2LocalPairTradingReadinessDiagnosticSummary>, 
/**
 * Diagnostics grouped by decoded event kind.
 */
decodedEventSummaries: Array<DemoPipeline2LocalDecodedEventDiagnosticSummary>, 
/**
 * Diagnostics grouped by decoded event classification.
 */
eventClassificationSummaries: Array<DemoPipeline2LocalEventClassificationDiagnosticSummary>, 
/**
 * Missing trade events grouped by diagnostic reason.
 */
missingTradeEventReasonSummaries: Array<DemoPipeline2LocalMissingTradeEventReasonSummary>, 
/**
 * Samples of launch-origin attributions.
 */
launchOriginSamples: Array<DemoPipeline2LocalLaunchOriginDiagnosticSample>, 
/**
 * Samples of pool-origin rows and their optional launch linkage.
 */
poolOriginSamples: Array<DemoPipeline2LocalPoolOriginDiagnosticSample>, 
/**
 * Prioritized samples of tokens whose display metadata is still incomplete.
 */
tokenMetadataGapSamples: Array<DemoPipeline2LocalTokenMetadataGapDiagnosticSample>, 
/**
 * Total pairs with only non-actionable missing trade events.
 */
nonActionablePairCount: number, 
/**
 * Pair summaries for non-actionable missing trade events.
 */
nonActionablePairSummaries: Array<DemoPipeline2LocalNonActionablePairDiagnosticSummary>, 
/**
 * Samples of decoded trade candidates without linked trade event.
 */
missingTradeEventSamples: Array<DemoPipeline2LocalMissingTradeEventDiagnosticSample>, 
/**
 * Samples of duplicated trade rows by decoded event id.
 */
duplicateDecodedEventTradeSamples: Array<DemoPipeline2LocalDuplicateDecodedEventTradeDiagnosticSample>, 
/**
 * Samples of multi-trade signature/pair groups.
 */
multiTradeSignaturePairSamples: Array<DemoPipeline2LocalMultiTradeSignaturePairDiagnosticSample>, 
/**
 * Samples of pairs without trade.
 */
pairWithoutTradeSamples: Array<DemoPipeline2LocalPairGapDiagnosticSample>, 
/**
 * Samples of pairs without candle.
 */
pairWithoutCandleSamples: Array<DemoPipeline2LocalPairGapDiagnosticSample>, };
