import { Message } from "@bufbuild/protobuf"; import { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; import { Timestamp } from "@bufbuild/protobuf/wkt"; declare namespace heatmap_pb_d_exports { export { GetOrderbookHeatmapRequest, GetOrderbookHeatmapRequestSchema, GetOrderbookHeatmapResponse, GetOrderbookHeatmapResponseSchema, HeatmapDeltaBucket, HeatmapDeltaBucketSchema, HeatmapDeltaChain, HeatmapDeltaChainSchema, HeatmapDeltaLevels, HeatmapDeltaLevelsSchema, HeatmapDepth, HeatmapDepthSchema, HeatmapInterval, HeatmapIntervalSchema, HeatmapKeyframe, HeatmapKeyframeSchema, HeatmapLevels, HeatmapLevelsSchema, HeatmapLiveBucket, HeatmapLiveBucketSchema, HeatmapQuantityMode, HeatmapQuantityModeSchema, HeatmapService, HeatmapTimeRange, HeatmapTimeRangeSchema, file_marketdata_v1_heatmap }; } /** * Describes the file marketdata/v1/heatmap.proto. */ declare const file_marketdata_v1_heatmap: GenFile; /** * HeatmapTimeRange selects historical buckets by [start_time, end_time] (UTC). * At least one bound is required. * * @generated from message marketdata.v1.HeatmapTimeRange */ type HeatmapTimeRange = Message<"marketdata.v1.HeatmapTimeRange"> & { /** * Inclusive lower bound in UTC. Omit to leave the lower bound open. * * @generated from field: google.protobuf.Timestamp start_time = 1; */ startTime?: Timestamp | undefined; /** * Inclusive upper bound in UTC. Omit to leave the upper bound open. * * @generated from field: google.protobuf.Timestamp end_time = 2; */ endTime?: Timestamp | undefined; }; /** * Describes the message marketdata.v1.HeatmapTimeRange. * Use `create(HeatmapTimeRangeSchema)` to create a new message. */ declare const HeatmapTimeRangeSchema: GenMessage; /** * GetOrderbookHeatmapRequest fetches historical heatmap buckets. * * @generated from message marketdata.v1.GetOrderbookHeatmapRequest */ type GetOrderbookHeatmapRequest = Message<"marketdata.v1.GetOrderbookHeatmapRequest"> & { /** * Numeric spot market identifier. * * @generated from field: uint32 symbol_id = 1; */ symbolId: number; /** * Heatmap bucket interval. * * @generated from field: marketdata.v1.HeatmapInterval interval = 2; */ interval: HeatmapInterval; /** * Top-N levels per side included in each bucket. * * @generated from field: marketdata.v1.HeatmapDepth depth = 3; */ depth: HeatmapDepth; /** * Absolute time range for the first page. Reuse the same request filters and * pass page_token from the prior response to continue older buckets. * * @generated from field: marketdata.v1.HeatmapTimeRange time_range = 4; */ timeRange?: HeatmapTimeRange | undefined; /** * Opaque keyset cursor from a previous response. The cursor is exclusive and * bound to symbol, interval, depth, quantity mode, and the original time * range. * * @generated from field: string page_token = 5; */ pageToken: string; /** * Maximum number of delta buckets returned (min 1, max 20000). * This limit counts only `chain.deltas`; `chain.base_keyframe` is not counted. * * @generated from field: uint32 limit = 6; */ limit: number; /** * Quantity mode used for qty_scaled in snapshot/delta levels: * - CLOSE: end-of-bucket quantity * - PEAK: intra-bucket peak quantity * * @generated from field: marketdata.v1.HeatmapQuantityMode quantity_mode = 7; */ quantityMode: HeatmapQuantityMode; }; /** * Describes the message marketdata.v1.GetOrderbookHeatmapRequest. * Use `create(GetOrderbookHeatmapRequestSchema)` to create a new message. */ declare const GetOrderbookHeatmapRequestSchema: GenMessage; /** * HeatmapLevels represents one side of the orderbook for snapshots. * Arrays are aligned by index and prices are sorted ascending for both sides: * - price_ticks[i] <-> qty_scaled[i] * * @generated from message marketdata.v1.HeatmapLevels */ type HeatmapLevels = Message<"marketdata.v1.HeatmapLevels"> & { /** * Price levels in quote units scaled by 1e9. * * @generated from field: repeated int64 price_ticks = 1; */ priceTicks: bigint[]; /** * Quantity at each price level according to quantity_mode, scaled by the * pair's base_quantity_scale from GetSpotConfig. * * @generated from field: repeated int64 qty_scaled = 2; */ qtyScaled: bigint[]; }; /** * Describes the message marketdata.v1.HeatmapLevels. * Use `create(HeatmapLevelsSchema)` to create a new message. */ declare const HeatmapLevelsSchema: GenMessage; /** * HeatmapDeltaLevels represents sparse per-bucket level changes for one side. * Arrays are aligned by index and prices are sorted ascending for both sides: * - price_ticks[i] <-> qty_scaled[i] * Delete semantics: qty_scaled[i] = 0 means delete level at price_ticks[i]. * * @generated from message marketdata.v1.HeatmapDeltaLevels */ type HeatmapDeltaLevels = Message<"marketdata.v1.HeatmapDeltaLevels"> & { /** * Price levels in quote units scaled by 1e9. * * @generated from field: repeated int64 price_ticks = 1; */ priceTicks: bigint[]; /** * Quantity at each price level, scaled by the pair's base_quantity_scale from * GetSpotConfig. A zero value deletes the level at the matching price_ticks * index. * * @generated from field: repeated int64 qty_scaled = 2; */ qtyScaled: bigint[]; }; /** * Describes the message marketdata.v1.HeatmapDeltaLevels. * Use `create(HeatmapDeltaLevelsSchema)` to create a new message. */ declare const HeatmapDeltaLevelsSchema: GenMessage; /** * HeatmapKeyframe is a full-book snapshot anchor. * * @generated from message marketdata.v1.HeatmapKeyframe */ type HeatmapKeyframe = Message<"marketdata.v1.HeatmapKeyframe"> & { /** * Snapshot timestamp (seconds since epoch, UTC). * * @generated from field: uint64 ts_sec = 1; */ tsSec: bigint; /** * Best bid price in quote units scaled by 1e9. * * @generated from field: int64 best_bid_ticks = 2; */ bestBidTicks: bigint; /** * Best ask price in quote units scaled by 1e9. * * @generated from field: int64 best_ask_ticks = 3; */ bestAskTicks: bigint; /** * Mid price in quote units scaled by 1e9. * * @generated from field: int64 mid_ticks = 4; */ midTicks: bigint; /** * Complete bid-side levels at the snapshot. * * @generated from field: marketdata.v1.HeatmapLevels bids = 5; */ bids?: HeatmapLevels | undefined; /** * Complete ask-side levels at the snapshot. * * @generated from field: marketdata.v1.HeatmapLevels asks = 6; */ asks?: HeatmapLevels | undefined; /** * Monotonic order book sequence at the snapshot. * * @generated from field: uint64 book_seq = 7; */ bookSeq: bigint; }; /** * Describes the message marketdata.v1.HeatmapKeyframe. * Use `create(HeatmapKeyframeSchema)` to create a new message. */ declare const HeatmapKeyframeSchema: GenMessage; /** * HeatmapDeltaBucket is one sparse update bucket containing both sides. * * @generated from message marketdata.v1.HeatmapDeltaBucket */ type HeatmapDeltaBucket = Message<"marketdata.v1.HeatmapDeltaBucket"> & { /** * Bucket start timestamp (seconds since epoch, UTC), aligned to `interval`. * * @generated from field: uint64 ts_sec = 1; */ tsSec: bigint; /** * Sparse bid-side level changes in this bucket. * * @generated from field: marketdata.v1.HeatmapDeltaLevels bids = 2; */ bids?: HeatmapDeltaLevels | undefined; /** * Sparse ask-side level changes in this bucket. * * @generated from field: marketdata.v1.HeatmapDeltaLevels asks = 3; */ asks?: HeatmapDeltaLevels | undefined; /** * Number of upstream L2 updates aggregated into this interval bucket. * * @generated from field: uint32 updates_in_bucket = 4; */ updatesInBucket: number; /** * Earliest monotonic order book sequence represented by this bucket. * * @generated from field: uint64 book_seq_start = 5; */ bookSeqStart: bigint; /** * Latest monotonic order book sequence represented by this bucket. * * @generated from field: uint64 book_seq_end = 6; */ bookSeqEnd: bigint; }; /** * Describes the message marketdata.v1.HeatmapDeltaBucket. * Use `create(HeatmapDeltaBucketSchema)` to create a new message. */ declare const HeatmapDeltaBucketSchema: GenMessage; /** * HeatmapLiveBucket is the canonical live payload for real-time heatmap updates. * It represents the latest state of one bucket (open or finalized). * * @generated from message marketdata.v1.HeatmapLiveBucket */ type HeatmapLiveBucket = Message<"marketdata.v1.HeatmapLiveBucket"> & { /** * Numeric spot market identifier. * * @generated from field: uint32 symbol_id = 1; */ symbolId: number; /** * Bucket interval for this payload. * * @generated from field: marketdata.v1.HeatmapInterval interval = 2; */ interval: HeatmapInterval; /** * Bucket start timestamp (seconds since epoch, UTC), aligned to `interval`. * * @generated from field: uint64 ts_sec = 3; */ tsSec: bigint; /** * True when this bucket is finalized; false for provisional updates to an * open bucket. * * @generated from field: bool is_final = 4; */ isFinal: boolean; /** * Sparse bid-side level changes represented by this bucket. * * @generated from field: marketdata.v1.HeatmapDeltaLevels bids = 5; */ bids?: HeatmapDeltaLevels | undefined; /** * Sparse ask-side level changes represented by this bucket. * * @generated from field: marketdata.v1.HeatmapDeltaLevels asks = 6; */ asks?: HeatmapDeltaLevels | undefined; /** * Number of upstream L2 updates aggregated into this interval bucket. * * @generated from field: uint32 updates_in_bucket = 7; */ updatesInBucket: number; /** * Earliest monotonic order book sequence represented by this bucket. * * @generated from field: uint64 book_seq_start = 8; */ bookSeqStart: bigint; /** * Latest monotonic order book sequence represented by this bucket. * * @generated from field: uint64 book_seq_end = 9; */ bookSeqEnd: bigint; /** * Quantity semantics for qty_scaled in bids and asks. * * @generated from field: marketdata.v1.HeatmapQuantityMode quantity_mode = 10; */ quantityMode: HeatmapQuantityMode; /** * Effective bin stride for this symbol as a price delta in 1e-9 quote-unit * ticks. * * @generated from field: uint64 effective_bin_ticks = 11; */ effectiveBinTicks: bigint; }; /** * Describes the message marketdata.v1.HeatmapLiveBucket. * Use `create(HeatmapLiveBucketSchema)` to create a new message. */ declare const HeatmapLiveBucketSchema: GenMessage; /** * HeatmapDeltaChain is the historical payload for all intervals. * Reconstruct by applying deltas over base_keyframe. * Deltas are ordered oldest-first by ts_sec. * * @generated from message marketdata.v1.HeatmapDeltaChain */ type HeatmapDeltaChain = Message<"marketdata.v1.HeatmapDeltaChain"> & { /** * Full-book snapshot from which to apply the returned deltas. * * @generated from field: marketdata.v1.HeatmapKeyframe base_keyframe = 1; */ baseKeyframe?: HeatmapKeyframe | undefined; /** * Sparse update buckets ordered oldest-first by timestamp. * * @generated from field: repeated marketdata.v1.HeatmapDeltaBucket deltas = 2; */ deltas: HeatmapDeltaBucket[]; }; /** * Describes the message marketdata.v1.HeatmapDeltaChain. * Use `create(HeatmapDeltaChainSchema)` to create a new message. */ declare const HeatmapDeltaChainSchema: GenMessage; /** * GetOrderbookHeatmapResponse returns a historical replay chain plus optional * live bucket state for explicit realtime stitching. * * @generated from message marketdata.v1.GetOrderbookHeatmapResponse */ type GetOrderbookHeatmapResponse = Message<"marketdata.v1.GetOrderbookHeatmapResponse"> & { /** * Numeric spot market identifier returned for the requested market. * * @generated from field: uint32 symbol_id = 1; */ symbolId: number; /** * Bucket interval used for the returned chain. * * @generated from field: marketdata.v1.HeatmapInterval interval = 2; */ interval: HeatmapInterval; /** * Top-N depth requested per side. * * @generated from field: marketdata.v1.HeatmapDepth depth = 3; */ depth: HeatmapDepth; /** * Always returned as snapshot + sparse deltas for the requested interval. * * @generated from field: marketdata.v1.HeatmapDeltaChain chain = 4; */ chain?: HeatmapDeltaChain | undefined; /** * Latest finalized historical bucket timestamp in seconds since epoch (UTC). * * @generated from field: uint64 last_persisted_ts_sec = 5; */ lastPersistedTsSec: bigint; /** * Book sequence anchor for realtime continuation; apply live updates where book_seq_end is greater than this value. * * @generated from field: uint64 live_from_book_seq_end = 6; */ liveFromBookSeqEnd: bigint; /** * True when live_from_book_seq_end is available and can be used as a realtime continuation anchor. * * @generated from field: bool has_live_anchor = 7; */ hasLiveAnchor: boolean; /** * Opaque cursor for the next page. Empty when no more results exist. * * @generated from field: string next_page_token = 8; */ nextPageToken: string; /** * Server response time in seconds since epoch (UTC). * * @generated from field: uint64 server_time_sec = 10; */ serverTimeSec: bigint; /** * Quantity mode used for all qty_scaled values in the response. * * @generated from field: marketdata.v1.HeatmapQuantityMode quantity_mode = 11; */ quantityMode: HeatmapQuantityMode; /** * Optional latest live bucket for the requested interval and depth. * Present only when it is newer than the historical anchor and its quantity semantics match quantity_mode. * * @generated from field: marketdata.v1.HeatmapLiveBucket live_bucket = 12; */ liveBucket?: HeatmapLiveBucket | undefined; }; /** * Describes the message marketdata.v1.GetOrderbookHeatmapResponse. * Use `create(GetOrderbookHeatmapResponseSchema)` to create a new message. */ declare const GetOrderbookHeatmapResponseSchema: GenMessage; /** * HeatmapInterval controls bucket resolution for historical orderbook heatmap. * * @generated from enum marketdata.v1.HeatmapInterval */ declare enum HeatmapInterval { /** * @generated from enum value: INTERVAL_UNSPECIFIED = 0; */ INTERVAL_UNSPECIFIED = 0, /** * @generated from enum value: INTERVAL_1S = 1; */ INTERVAL_1S = 1, /** * @generated from enum value: INTERVAL_1M = 2; */ INTERVAL_1M = 2, /** * @generated from enum value: INTERVAL_5M = 3; */ INTERVAL_5M = 3, /** * @generated from enum value: INTERVAL_1H = 4; */ INTERVAL_1H = 4 } /** * Describes the enum marketdata.v1.HeatmapInterval. */ declare const HeatmapIntervalSchema: GenEnum; /** * HeatmapDepth controls top-N levels included per side in each heatmap bucket. * * Values intentionally mirror orderbook.v1.Depth for FE ergonomics, while * keeping this contract decoupled from orderbook service protos. * * @generated from enum marketdata.v1.HeatmapDepth */ declare enum HeatmapDepth { /** * @generated from enum value: DEPTH_UNSPECIFIED = 0; */ DEPTH_UNSPECIFIED = 0, /** * @generated from enum value: DEPTH_1 = 1; */ DEPTH_1 = 1, /** * @generated from enum value: DEPTH_5 = 2; */ DEPTH_5 = 2, /** * @generated from enum value: DEPTH_10 = 3; */ DEPTH_10 = 3, /** * @generated from enum value: DEPTH_20 = 4; */ DEPTH_20 = 4, /** * @generated from enum value: DEPTH_50 = 5; */ DEPTH_50 = 5, /** * @generated from enum value: DEPTH_100 = 6; */ DEPTH_100 = 6, /** * @generated from enum value: DEPTH_200 = 7; */ DEPTH_200 = 7, /** * @generated from enum value: DEPTH_500 = 8; */ DEPTH_500 = 8, /** * @generated from enum value: DEPTH_1000 = 9; */ DEPTH_1000 = 9 } /** * Describes the enum marketdata.v1.HeatmapDepth. */ declare const HeatmapDepthSchema: GenEnum; /** * HeatmapQuantityMode controls what qty_scaled means in returned levels. * * @generated from enum marketdata.v1.HeatmapQuantityMode */ declare enum HeatmapQuantityMode { /** * @generated from enum value: QTY_MODE_UNSPECIFIED = 0; */ QTY_MODE_UNSPECIFIED = 0, /** * @generated from enum value: CLOSE = 1; */ CLOSE = 1, /** * @generated from enum value: PEAK = 2; */ PEAK = 2 } /** * Describes the enum marketdata.v1.HeatmapQuantityMode. */ declare const HeatmapQuantityModeSchema: GenEnum; /** * HeatmapService serves historical orderbook heatmap chains. * * @generated from service marketdata.v1.HeatmapService */ declare const HeatmapService: GenService<{ /** * Retrieve historical orderbook heatmap data for a spot symbol. * - All intervals (1s/1m/5m/1h) return snapshot + sparse delta chain. * - Response may also include the latest live bucket state when available. * Response always includes realtime stitching anchors. * * @generated from rpc marketdata.v1.HeatmapService.GetOrderbookHeatmap */ getOrderbookHeatmap: { methodKind: "unary"; input: typeof GetOrderbookHeatmapRequestSchema; output: typeof GetOrderbookHeatmapResponseSchema; }; }>; //#endregion export { GetOrderbookHeatmapRequest, GetOrderbookHeatmapRequestSchema, GetOrderbookHeatmapResponse, GetOrderbookHeatmapResponseSchema, HeatmapDeltaBucket, HeatmapDeltaBucketSchema, HeatmapDeltaChain, HeatmapDeltaChainSchema, HeatmapDeltaLevels, HeatmapDeltaLevelsSchema, HeatmapDepth, HeatmapDepthSchema, HeatmapInterval, HeatmapIntervalSchema, HeatmapKeyframe, HeatmapKeyframeSchema, HeatmapLevels, HeatmapLevelsSchema, HeatmapLiveBucket, HeatmapLiveBucketSchema, HeatmapQuantityMode, HeatmapQuantityModeSchema, HeatmapService, HeatmapTimeRange, HeatmapTimeRangeSchema, file_marketdata_v1_heatmap, heatmap_pb_d_exports }; //# sourceMappingURL=heatmap_pb.d.ts.map