@agg-build/hooks 1.2.11 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -2,7 +2,7 @@ import * as _tanstack_react_query from '@tanstack/react-query';
2
2
  import { QueryClient } from '@tanstack/react-query';
3
3
  export { QueryClient, QueryClientProvider, useQueryClient } from '@tanstack/react-query';
4
4
  import * as _agg_build_sdk from '@agg-build/sdk';
5
- import { CandleBuilder, AggAuthStartBody, AggAuthStartResult, AggClientSessionInput, AggClient, RampQuote, RampQuoteRequest, RampWidgetSession, RampSessionRequest, QuoteManagedResponse, QuoteManagedParams, ExecuteManagedResponse, ExecuteManagedParams, GetPositionsParams, WsOrderSubmitted, WsBalanceUpdate, RedeemResponse, RedeemRequest, WsRedeemEvent, AggWebSocket, WsWithdrawalLifecycleEvent, WsCandleInterval, WsTrade, AggregatedOrderbookResponse, AggLinkAccountBody, AggLinkAccountResult, AggLinkAccountConfirmResult, UserActivityQuery, UserActivityItem, PaginatedResponse, CandleInterval, OrderbookState, OrderbookQuoteResponse, OrderListQuery, TradeExecutorOrder, SmartRouteSide, SmartRouteResponse, MidpointRow, BatchMidpointsResponse, AppClientConfigResponse } from '@agg-build/sdk';
5
+ import { CandleBuilder, AggAuthStartBody, AggAuthStartResult, AggClientSessionInput, AggClient, RampQuote, RampQuoteRequest, RampWidgetSession, RampSessionRequest, QuoteManagedResponse, QuoteManagedParams, ExecuteManagedResponse, ExecuteManagedParams, GetPositionsParams, WsOrderSubmitted, WsBalanceUpdate, RedeemResponse, RedeemRequest, WsRedeemEvent, AggWebSocket, WsOrderEvent, WsWithdrawalLifecycleEvent, WsCandleInterval, WsTrade, AggregatedOrderbookResponse, AggLinkAccountBody, AggLinkAccountResult, AggLinkAccountConfirmResult, Category, UserActivityQuery, UserActivityItem, PaginatedResponse, CandleInterval, OrderbookState, OrderbookQuoteResponse, OrderListQuery, TradeExecutorOrder, SmartRouteSide, ExecutionMode, SmartRouteResponse, MidpointRow, BatchMidpointsResponse, AppClientConfigResponse } from '@agg-build/sdk';
6
6
  export { TurnstileChallengeError } from '@agg-build/sdk';
7
7
  import React, { ReactNode } from 'react';
8
8
  export { UseManagedBalancesOptions, UseWithdrawEstimateParams, UseWithdrawFlowOptions, UseWithdrawFlowResult, UseWithdrawManagedOptions, UseWithdrawalLifecycleResult, WithdrawFeeEstimate, WithdrawalLifecycleState, useManagedBalances, useWithdrawEstimate, useWithdrawFlow, useWithdrawManaged, useWithdrawalLifecycle } from './withdraw.mjs';
@@ -296,6 +296,7 @@ type VenueEvent = {
296
296
  category: {
297
297
  id: string;
298
298
  name: string;
299
+ displayName: string | null;
299
300
  parentId: string | null;
300
301
  eventCount: number;
301
302
  };
@@ -656,7 +657,14 @@ interface AggUiLabels {
656
657
  userProfile: {
657
658
  activity: {
658
659
  depositType: string;
660
+ redeemType: string;
659
661
  withdrawalType: string;
662
+ redeemStatusTitles: {
663
+ pending: string;
664
+ completed: string;
665
+ failed: string;
666
+ canceled: string;
667
+ };
660
668
  depositTitles: {
661
669
  connectedWallet: string;
662
670
  externalWallet: string;
@@ -730,6 +738,15 @@ interface AggUiLabels {
730
738
  eventList: {
731
739
  matchedTab: string;
732
740
  allTab: string;
741
+ sortByLabel: string;
742
+ sortBy24hVolume: string;
743
+ sortByTopArbitrage: string;
744
+ sortByTotalVolume: string;
745
+ sortByEndingSoon: string;
746
+ subcategoriesLabel: string;
747
+ subcategoriesAll: string;
748
+ subcategoriesOpenAria: string;
749
+ subcategoriesCloseAria: string;
733
750
  loading: (title: string) => string;
734
751
  tabsAria: (title: string) => string;
735
752
  emptyAria: string;
@@ -763,6 +780,8 @@ interface AggUiLabels {
763
780
  marketPlural: string;
764
781
  venueSingular: string;
765
782
  venuePlural: string;
783
+ matched: string;
784
+ matchedCount: (count: number) => string;
766
785
  priceGap: string;
767
786
  };
768
787
  eventItemDetails: {
@@ -911,6 +930,60 @@ interface AggUiLabels {
911
930
  noOrderbooks: string;
912
931
  quoteUnavailable: string;
913
932
  quoteBalanceMismatch: string;
933
+ serviceTemporarilyUnavailable: string;
934
+ orderDeadlineExpiredBeforeSubmission: string;
935
+ /**
936
+ * Venue rejected a SELL because the user's on-chain position is
937
+ * zero (VMP overstated, prior sell/redeem, transfer out, etc.).
938
+ * Default: "You don't currently hold any on-chain shares of this
939
+ * outcome. If you just sold or redeemed elsewhere, your position
940
+ * display will refresh shortly — try again after that."
941
+ */
942
+ sellNoOnchainPosition: string;
943
+ /**
944
+ * Venue couldn't fill at the quoted price (Limitless simulation
945
+ * failed, Myriad walk produced no in-tolerance levels, Hyperliquid
946
+ * `could not immediately match`, etc.).
947
+ */
948
+ venueQuoteUnfillable: string;
949
+ /**
950
+ * Bare-minimum venue order-size violation (Limitless 0.01-share
951
+ * floor, Polymarket post-fee dust, Hyperliquid min-notional).
952
+ */
953
+ venueMinOrderSize: string;
954
+ /**
955
+ * Source-chain balance changed between quote and submit. Covers
956
+ * Limitless Base USDC, Polymarket pUSD, Solana SPL InsufficientFunds,
957
+ * BNB BEP20 transfer-exceeds-balance/allowance.
958
+ */
959
+ sourceBalanceChanged: string;
960
+ /**
961
+ * Venue market resolved / closed between quote and submit.
962
+ */
963
+ venueMarketResolved: string;
964
+ /**
965
+ * dFlow wallet KYC required (verify at dflow.net/proof).
966
+ */
967
+ dflowWalletUnverified: string;
968
+ /**
969
+ * No active quote path on the matcher right now (dFlow
970
+ * route_not_found, etc.).
971
+ */
972
+ venueNoQuotePath: string;
973
+ /**
974
+ * Solana blockhash expired before the tx landed — re-quote needed.
975
+ */
976
+ solanaBlockhashExpired: string;
977
+ /**
978
+ * Venue / aggregator API is rate-limited; retry shortly.
979
+ */
980
+ venueRateLimited: string;
981
+ /**
982
+ * Service-side bug surfaced at admission time (DagValidationError,
983
+ * Duplicate step ID, etc.). Retrying the same quote will hit the
984
+ * same bug; user should contact support.
985
+ */
986
+ serviceBlockedOrder: string;
914
987
  selectedVenueUnavailable: string;
915
988
  engineUnavailable: string;
916
989
  insufficientInputAmount: string;
@@ -924,6 +997,7 @@ interface AggUiLabels {
924
997
  deposit: string;
925
998
  kycRequired: string;
926
999
  kycNotVerifiedTooltip: string;
1000
+ kycVerify: string;
927
1001
  kycVerifyModalTitle: string;
928
1002
  kycVerifyModalDescription: string;
929
1003
  kycStartVerification: string;
@@ -937,12 +1011,15 @@ interface AggUiLabels {
937
1011
  splitOrderDescription: string;
938
1012
  viewAllRoutes: (count: number) => string;
939
1013
  venueUnavailableInRegion: string;
1014
+ verified: string;
940
1015
  platformFee: string;
941
1016
  estimatedFees: string;
942
1017
  estimatedFeesTooltipAria: string;
943
1018
  feeBreakdownVenueFees: string;
944
1019
  feeBreakdownBridgeFees: string;
945
1020
  feeBreakdownExecutionGas: string;
1021
+ feeBreakdownAggMarket: string;
1022
+ feeBreakdownPlatformFeeBadge: string;
946
1023
  feeBreakdownTotalFees: string;
947
1024
  toWin: (tab: "buy" | "sell") => string;
948
1025
  buyingOutcome: (label: string) => string;
@@ -1115,6 +1192,71 @@ interface AggUiLabels {
1115
1192
  bannerAria: string;
1116
1193
  logoAria: string;
1117
1194
  };
1195
+ /**
1196
+ * Copy for the global notification bridge (`AggNotificationEventsProvider`).
1197
+ * Each leaf is read from a websocket / activity-feed lifecycle event and
1198
+ * rendered into the existing toast primitive. Keep these terse — the toast
1199
+ * footprint is small and detail lines wrap awkwardly past two lines.
1200
+ */
1201
+ notifications: {
1202
+ order: {
1203
+ filledTitle: string;
1204
+ filledMessage: (params: {
1205
+ venueLabel?: string;
1206
+ sideLabel?: string;
1207
+ amountLabel?: string;
1208
+ priceLabel?: string;
1209
+ }) => string;
1210
+ partialFilledTitle: string;
1211
+ partialFilledMessage: (params: {
1212
+ venueLabel?: string;
1213
+ sideLabel?: string;
1214
+ amountLabel?: string;
1215
+ priceLabel?: string;
1216
+ }) => string;
1217
+ failedTitle: string;
1218
+ failedMessage: (errorReason?: string) => string;
1219
+ };
1220
+ deposit: {
1221
+ completedTitle: string;
1222
+ completedMessage: (params: {
1223
+ amountLabel?: string;
1224
+ tokenLabel?: string;
1225
+ }) => string;
1226
+ failedTitle: string;
1227
+ failedMessage: (params: {
1228
+ amountLabel?: string;
1229
+ tokenLabel?: string;
1230
+ }) => string;
1231
+ };
1232
+ withdrawal: {
1233
+ completedTitle: string;
1234
+ completedMessage: (params: {
1235
+ amountLabel?: string;
1236
+ tokenLabel?: string;
1237
+ }) => string;
1238
+ partialTitle: string;
1239
+ partialMessage: (params: {
1240
+ amountLabel?: string;
1241
+ tokenLabel?: string;
1242
+ }) => string;
1243
+ failedTitle: string;
1244
+ failedMessage: (errorReason?: string) => string;
1245
+ };
1246
+ claim: {
1247
+ pendingTitle: string;
1248
+ pendingMessage: string;
1249
+ submittedTitle: string;
1250
+ submittedMessage: string;
1251
+ successTitle: string;
1252
+ successMessage: string;
1253
+ partialTitle: string;
1254
+ partialMessage: (errorReason?: string) => string;
1255
+ failedTitle: string;
1256
+ failedMessage: (errorReason?: string) => string;
1257
+ missingOutcomeMessage: string;
1258
+ };
1259
+ };
1118
1260
  }
1119
1261
  type DeepPartial<TValue> = {
1120
1262
  [TKey in keyof TValue]?: TValue[TKey] extends (...args: infer TArgs) => infer TReturn ? (...args: TArgs) => TReturn : TValue[TKey] extends object ? DeepPartial<TValue[TKey]> : TValue[TKey];
@@ -1143,10 +1285,21 @@ interface AggUiFeatureFlagsConfig {
1143
1285
  enableAnimations: boolean;
1144
1286
  /** Enable live updates */
1145
1287
  enableLiveUpdates: boolean;
1288
+ /** Enable compact price-gap signals on aggregated event tiles. */
1289
+ enablePriceGap: boolean;
1146
1290
  /** Enable fee UI in trading flows */
1147
1291
  showFeesBreakdown: boolean;
1148
1292
  /** Enable gradients */
1149
1293
  enableGradients: boolean;
1294
+ /** Enable venue-events discovery filters UI and query wiring. */
1295
+ enableVenueEventDiscoveryFilters: boolean;
1296
+ /**
1297
+ * Enable the global notification bridge that emits toasts for order /
1298
+ * deposit / withdrawal lifecycle events. Defaults to `true`. Set to
1299
+ * `false` to suppress those toasts (the toast surface itself stays mounted
1300
+ * for ad-hoc partner-fired toasts).
1301
+ */
1302
+ enableNotifications: boolean;
1150
1303
  }
1151
1304
  type AggUiFeatureFlagsConfigInput = Partial<AggUiFeatureFlagsConfig>;
1152
1305
  interface AggUiMarketConfig {
@@ -1387,6 +1540,8 @@ declare const DEFAULT_AGG_ROOT_CLASS_NAME = "agg-root";
1387
1540
  declare const CHART_TIME_RANGES: ChartTimeRange[];
1388
1541
 
1389
1542
  declare const useAggClient: () => AggClient;
1543
+ /** Like {@link useAggClient}, but returns `null` when no `<AggProvider>` is mounted. */
1544
+ declare const useOptionalAggClient: () => AggClient | null;
1390
1545
  declare const useAggUiConfig: () => AggUiConfig;
1391
1546
  declare const useAggLabels: () => AggUiLabels;
1392
1547
  declare const useAggAuthContext: () => AggAuthContextValue;
@@ -1525,6 +1680,7 @@ declare const invalidateBalanceQueries: (queryClient: QueryClient, options?: Inv
1525
1680
  declare const invalidatePositionQueries: (queryClient: QueryClient, options?: InvalidateBalanceQueriesOptions) => void;
1526
1681
  declare const userActivityQueryKeys: {
1527
1682
  all: () => readonly ["user-activity"];
1683
+ feed: (type?: string | null, limit?: number | null) => readonly ["user-activity", string, number];
1528
1684
  };
1529
1685
  type UserActivityInvalidationStrategy = "remove" | "invalidate";
1530
1686
  interface InvalidateUserActivityOptions {
@@ -1566,6 +1722,13 @@ interface InvalidateUserMoneyStateOptions {
1566
1722
  * current-user (no money fields change on deposit/withdraw today).
1567
1723
  */
1568
1724
  declare const invalidateUserMoneyState: (queryClient: QueryClient, options?: InvalidateUserMoneyStateOptions) => void;
1725
+ /**
1726
+ * Refresh every user-facing cache touched by a winnings claim attempt. Claims
1727
+ * can change the visible claimable count, the active/closed position buckets,
1728
+ * balances, and activity rows. Run this from mutation `onSettled` so rejected
1729
+ * attempts also clear stale pending UI.
1730
+ */
1731
+ declare const invalidateUserClaimState: (queryClient: QueryClient, options?: InvalidateUserMoneyStateOptions) => void;
1569
1732
 
1570
1733
  declare function useRampQuotes(): _tanstack_react_query.UseMutationResult<RampQuote[], Error, RampQuoteRequest, unknown>;
1571
1734
 
@@ -1573,9 +1736,16 @@ declare function useRampSession(): _tanstack_react_query.UseMutationResult<RampW
1573
1736
 
1574
1737
  declare const executionKeys: {
1575
1738
  all: () => readonly ["execution"];
1576
- balances: () => readonly ["execution", "balances"];
1577
- positions: (cursor?: string | null, limit?: number | null, status?: "active" | "closed" | null) => readonly ["execution", "positions", string | null, number | null, "closed" | "active" | null];
1739
+ balances: (mode?: string | null) => readonly ["execution", "balances", string] | readonly ["execution", "balances"];
1740
+ positions: (cursor?: string | null, limit?: number | null, status?: "active" | "closed" | null, mode?: string | null) => readonly ["execution", "positions", string | null, number | null, "closed" | "active" | null, string] | readonly ["execution", "positions", string | null, number | null, "closed" | "active" | null];
1578
1741
  positionsPrefix: () => readonly ["execution", "positions"];
1742
+ claimablePositionsCount: () => readonly ["execution", "positions", "claimable-count"];
1743
+ /**
1744
+ * @deprecated Misnomer — claimable (redeemStatus "eligible") groups live in
1745
+ * the ACTIVE bucket, not closed (won-but-unclaimed stays Active until a
1746
+ * redeem stamps redeemedAt). Same key value as `claimablePositionsCount`;
1747
+ * kept so existing invalidation call sites keep matching.
1748
+ */
1579
1749
  claimableClosedPositionsCount: () => readonly ["execution", "positions", "claimable-count"];
1580
1750
  orders: (status?: string | null, cursor?: string | null, limit?: number | null) => readonly ["execution", "orders", string | null, string | null, number | null];
1581
1751
  ordersPrefix: () => readonly ["execution", "orders"];
@@ -1827,6 +1997,7 @@ interface ExecutionTerminalOrderEvent {
1827
1997
  interface UseExecutionProgressOptions {
1828
1998
  orderIds: string[] | null;
1829
1999
  enabled: boolean;
2000
+ mode?: "live" | "paper";
1830
2001
  }
1831
2002
  interface UseExecutionProgressResult {
1832
2003
  phase: ExecutionProgressPhase;
@@ -1835,7 +2006,7 @@ interface UseExecutionProgressResult {
1835
2006
  dagProgress: DagStepProgress | null;
1836
2007
  terminalOrderEvents: ExecutionTerminalOrderEvent[];
1837
2008
  }
1838
- declare function useExecutionProgress({ orderIds, enabled, }: UseExecutionProgressOptions): UseExecutionProgressResult;
2009
+ declare function useExecutionProgress({ orderIds, enabled, mode, }: UseExecutionProgressOptions): UseExecutionProgressResult;
1839
2010
 
1840
2011
  interface ClosedPositionTotals {
1841
2012
  totalTraded: number;
@@ -1950,6 +2121,7 @@ declare function useRedeemLifecycle(input: UseRedeemLifecycleInput | null): Rede
1950
2121
  declare function useAggWebSocket(): AggWebSocket | null;
1951
2122
  declare function useOnOrderSubmitted(callback: ((msg: WsOrderSubmitted) => void) | null): void;
1952
2123
  declare function useOnBalanceUpdate(callback: ((msg: WsBalanceUpdate) => void) | null): void;
2124
+ declare function useOnOrderEvent(callback: ((msg: WsOrderEvent) => void) | null): void;
1953
2125
  declare function useOnWithdrawalLifecycle(callback: ((msg: WsWithdrawalLifecycleEvent) => void) | null): void;
1954
2126
 
1955
2127
  interface MarketChartCandle {
@@ -2025,6 +2197,19 @@ interface GeoBlockState {
2025
2197
  */
2026
2198
  declare function useGeoBlock(): GeoBlockState;
2027
2199
 
2200
+ type VenueAvailabilityState = "available" | "geoblocked" | "hidden";
2201
+ declare const normalizeVenueId: (venueId: string) => string;
2202
+ declare const isVenueDisabledByConfig: (venueId: string, disabledVenues?: readonly string[]) => boolean;
2203
+ declare const getVisibleVenuesByConfig: <TVenue extends {
2204
+ id: string;
2205
+ }>(venues: readonly TVenue[], disabledVenues?: readonly string[]) => TVenue[];
2206
+ declare const getVisibleVenueIdsByConfig: <TVenueId extends string>(venueIds: readonly TVenueId[], disabledVenues?: readonly string[]) => TVenueId[];
2207
+ declare const getVenueAvailabilityState: ({ venueId, disabledVenues, isLocationBlocked, }: {
2208
+ venueId: string;
2209
+ disabledVenues?: readonly string[];
2210
+ isLocationBlocked?: boolean;
2211
+ }) => VenueAvailabilityState;
2212
+
2028
2213
  interface UseAggAuthOptions {
2029
2214
  signMessage?: (message: string) => Promise<string>;
2030
2215
  address?: string;
@@ -2061,18 +2246,31 @@ declare const AUTH_CHOOSER_OPEN_EVENT = "agg-auth:open-chooser";
2061
2246
  declare const requestAggAuthChooserOpen: () => void;
2062
2247
 
2063
2248
  interface UseCategoriesOptions {
2249
+ /** Optional query-key scope to isolate caches across different surfaces. */
2250
+ queryKeyScope?: string;
2251
+ /** Fetch child categories for a parent category id. Omit for top-level categories. */
2252
+ parentId?: string | null;
2064
2253
  enabled?: boolean;
2065
2254
  /** Page size when using cursor pagination. Default 20. */
2066
2255
  limit?: number;
2067
2256
  }
2257
+ interface UseCategoryChildrenOptions {
2258
+ /** Optional query-key scope to isolate caches across different surfaces. */
2259
+ queryKeyScope?: string;
2260
+ /** Parent category ids whose first child page should be fetched. */
2261
+ parentIds?: readonly (string | null | undefined)[];
2262
+ enabled?: boolean;
2263
+ /** Page size for each child query. Default 20. */
2264
+ limit?: number;
2265
+ }
2068
2266
  /**
2069
2267
  * Fetch categories via the API with cursor-based pagination.
2070
2268
  * Use fetchNextPage for "Load more". Same pattern as useVenueEvents.
2071
2269
  */
2072
2270
  declare function useCategories(options?: UseCategoriesOptions): {
2073
- categories: _agg_build_sdk.Category[];
2271
+ categories: Category[];
2074
2272
  hasNextPage: boolean;
2075
- data: _tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>;
2273
+ data: _tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>;
2076
2274
  error: Error;
2077
2275
  isError: true;
2078
2276
  isPending: false;
@@ -2082,8 +2280,8 @@ declare function useCategories(options?: UseCategoriesOptions): {
2082
2280
  isSuccess: false;
2083
2281
  isPlaceholderData: false;
2084
2282
  status: "error";
2085
- fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2086
- fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2283
+ fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2284
+ fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2087
2285
  hasPreviousPage: boolean;
2088
2286
  isFetchNextPageError: boolean;
2089
2287
  isFetchingNextPage: boolean;
@@ -2102,13 +2300,13 @@ declare function useCategories(options?: UseCategoriesOptions): {
2102
2300
  isRefetching: boolean;
2103
2301
  isStale: boolean;
2104
2302
  isEnabled: boolean;
2105
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2303
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2106
2304
  fetchStatus: _tanstack_react_query.FetchStatus;
2107
- promise: Promise<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>>;
2305
+ promise: Promise<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>>;
2108
2306
  } | {
2109
- categories: _agg_build_sdk.Category[];
2307
+ categories: Category[];
2110
2308
  hasNextPage: boolean;
2111
- data: _tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>;
2309
+ data: _tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>;
2112
2310
  error: null;
2113
2311
  isError: false;
2114
2312
  isPending: false;
@@ -2120,8 +2318,8 @@ declare function useCategories(options?: UseCategoriesOptions): {
2120
2318
  isSuccess: true;
2121
2319
  isPlaceholderData: false;
2122
2320
  status: "success";
2123
- fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2124
- fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2321
+ fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2322
+ fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2125
2323
  hasPreviousPage: boolean;
2126
2324
  isFetchingNextPage: boolean;
2127
2325
  isFetchingPreviousPage: boolean;
@@ -2138,11 +2336,11 @@ declare function useCategories(options?: UseCategoriesOptions): {
2138
2336
  isRefetching: boolean;
2139
2337
  isStale: boolean;
2140
2338
  isEnabled: boolean;
2141
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2339
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2142
2340
  fetchStatus: _tanstack_react_query.FetchStatus;
2143
- promise: Promise<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>>;
2341
+ promise: Promise<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>>;
2144
2342
  } | {
2145
- categories: _agg_build_sdk.Category[];
2343
+ categories: Category[];
2146
2344
  hasNextPage: boolean;
2147
2345
  data: undefined;
2148
2346
  error: Error;
@@ -2156,8 +2354,8 @@ declare function useCategories(options?: UseCategoriesOptions): {
2156
2354
  isSuccess: false;
2157
2355
  isPlaceholderData: false;
2158
2356
  status: "error";
2159
- fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2160
- fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2357
+ fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2358
+ fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2161
2359
  hasPreviousPage: boolean;
2162
2360
  isFetchingNextPage: boolean;
2163
2361
  isFetchingPreviousPage: boolean;
@@ -2174,11 +2372,11 @@ declare function useCategories(options?: UseCategoriesOptions): {
2174
2372
  isRefetching: boolean;
2175
2373
  isStale: boolean;
2176
2374
  isEnabled: boolean;
2177
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2375
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2178
2376
  fetchStatus: _tanstack_react_query.FetchStatus;
2179
- promise: Promise<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>>;
2377
+ promise: Promise<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>>;
2180
2378
  } | {
2181
- categories: _agg_build_sdk.Category[];
2379
+ categories: Category[];
2182
2380
  hasNextPage: boolean;
2183
2381
  data: undefined;
2184
2382
  error: null;
@@ -2192,8 +2390,8 @@ declare function useCategories(options?: UseCategoriesOptions): {
2192
2390
  isSuccess: false;
2193
2391
  isPlaceholderData: false;
2194
2392
  status: "pending";
2195
- fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2196
- fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2393
+ fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2394
+ fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2197
2395
  hasPreviousPage: boolean;
2198
2396
  isFetchingNextPage: boolean;
2199
2397
  isFetchingPreviousPage: boolean;
@@ -2210,11 +2408,11 @@ declare function useCategories(options?: UseCategoriesOptions): {
2210
2408
  isRefetching: boolean;
2211
2409
  isStale: boolean;
2212
2410
  isEnabled: boolean;
2213
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2411
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2214
2412
  fetchStatus: _tanstack_react_query.FetchStatus;
2215
- promise: Promise<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>>;
2413
+ promise: Promise<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>>;
2216
2414
  } | {
2217
- categories: _agg_build_sdk.Category[];
2415
+ categories: Category[];
2218
2416
  hasNextPage: boolean;
2219
2417
  data: undefined;
2220
2418
  error: null;
@@ -2227,8 +2425,8 @@ declare function useCategories(options?: UseCategoriesOptions): {
2227
2425
  isSuccess: false;
2228
2426
  isPlaceholderData: false;
2229
2427
  status: "pending";
2230
- fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2231
- fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2428
+ fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2429
+ fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2232
2430
  hasPreviousPage: boolean;
2233
2431
  isFetchingNextPage: boolean;
2234
2432
  isFetchingPreviousPage: boolean;
@@ -2246,13 +2444,13 @@ declare function useCategories(options?: UseCategoriesOptions): {
2246
2444
  isRefetching: boolean;
2247
2445
  isStale: boolean;
2248
2446
  isEnabled: boolean;
2249
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2447
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2250
2448
  fetchStatus: _tanstack_react_query.FetchStatus;
2251
- promise: Promise<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>>;
2449
+ promise: Promise<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>>;
2252
2450
  } | {
2253
- categories: _agg_build_sdk.Category[];
2451
+ categories: Category[];
2254
2452
  hasNextPage: boolean;
2255
- data: _tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>;
2453
+ data: _tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>;
2256
2454
  isError: false;
2257
2455
  error: null;
2258
2456
  isPending: false;
@@ -2264,8 +2462,8 @@ declare function useCategories(options?: UseCategoriesOptions): {
2264
2462
  isFetchNextPageError: false;
2265
2463
  isFetchPreviousPageError: false;
2266
2464
  status: "success";
2267
- fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2268
- fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2465
+ fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2466
+ fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2269
2467
  hasPreviousPage: boolean;
2270
2468
  isFetchingNextPage: boolean;
2271
2469
  isFetchingPreviousPage: boolean;
@@ -2282,15 +2480,27 @@ declare function useCategories(options?: UseCategoriesOptions): {
2282
2480
  isRefetching: boolean;
2283
2481
  isStale: boolean;
2284
2482
  isEnabled: boolean;
2285
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>, Error>>;
2483
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>, Error>>;
2286
2484
  fetchStatus: _tanstack_react_query.FetchStatus;
2287
- promise: Promise<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<_agg_build_sdk.Category>, unknown>>;
2485
+ promise: Promise<_tanstack_react_query.InfiniteData<_agg_build_sdk.PaginatedResponse<Category>, unknown>>;
2486
+ };
2487
+ /**
2488
+ * Fetch the first page of children for multiple parent categories.
2489
+ * This is intentionally first-page only: it is used to render folder affordances
2490
+ * and keep already-open branches visible without issuing one-off queries inside
2491
+ * the component tree for every rendered row.
2492
+ */
2493
+ declare function useCategoryChildren(options?: UseCategoryChildrenOptions): {
2494
+ queries: _tanstack_react_query.UseQueryResult<_agg_build_sdk.PaginatedResponse<Category>, Error>[];
2495
+ childrenByParentId: Map<string, Category[]>;
2496
+ isLoading: boolean;
2288
2497
  };
2289
2498
 
2290
2499
  declare function useDebouncedValue<T>(value: T, delay: number): T;
2291
2500
 
2292
2501
  interface UseExecutionOrdersOptions extends Omit<GetOrdersQuery, "cursor"> {
2293
2502
  enabled?: boolean;
2503
+ mode?: "live" | "paper";
2294
2504
  refetchIntervalMs?: number | false;
2295
2505
  }
2296
2506
  declare function useExecutionOrders(options?: UseExecutionOrdersOptions): {
@@ -2758,6 +2968,7 @@ declare function useExternalId(options?: UseExternalIdOptions): UseExternalIdRet
2758
2968
 
2759
2969
  interface UseExecutionPositionsOptions extends Omit<GetPositionsQuery, "cursor"> {
2760
2970
  enabled?: boolean;
2971
+ mode?: "live" | "paper";
2761
2972
  }
2762
2973
  declare function useExecutionPositions(options?: UseExecutionPositionsOptions): {
2763
2974
  positions: PositionGroup[];
@@ -3390,6 +3601,51 @@ interface UseMarketOrderbookResult {
3390
3601
  */
3391
3602
  declare function useMarketOrderbook(options: UseMarketOrderbookOptions): UseMarketOrderbookResult;
3392
3603
 
3604
+ interface UseMarketArbResult {
3605
+ /** Live arbReturn for the market, or null if no data received yet. */
3606
+ arbReturn: number | null;
3607
+ /** True once at least one live update (or a cached seed) has been received. */
3608
+ isLive: boolean;
3609
+ }
3610
+ interface UseArbFeedResult {
3611
+ /**
3612
+ * Live arbReturn keyed by marketId.
3613
+ * Values are the most-recently received arbReturn for each market.
3614
+ */
3615
+ byMarket: Map<string, number>;
3616
+ /**
3617
+ * MAX arbReturn keyed by venueEventId.
3618
+ * Derived from byMarket by scanning all markets that share a venueEventId and
3619
+ * taking the maximum. Rebuilt fully on every batch so it is correct even when
3620
+ * a market's arb DROPS between batches.
3621
+ */
3622
+ byEvent: Map<string, number>;
3623
+ }
3624
+ /**
3625
+ * Subscribe to real-time arbReturn updates for a single market.
3626
+ *
3627
+ * Seeds initial state from the WS cache (`ws.getArb`) if available, then
3628
+ * streams live updates via `ws.subscribeArb`. Unsubscribes on unmount or when
3629
+ * `marketId` changes.
3630
+ *
3631
+ * Returns `{ arbReturn: number | null; isLive: boolean }`.
3632
+ * `isLive` is true once at least one value (cached or live) is received.
3633
+ */
3634
+ declare function useMarketArb(marketId: string | null): UseMarketArbResult;
3635
+ /**
3636
+ * Subscribe to the coalesced arb-return feed.
3637
+ *
3638
+ * Maintains a `byMarket` map (marketId → arbReturn) and derives a `byEvent`
3639
+ * map (venueEventId → max arbReturn across all markets in that event).
3640
+ *
3641
+ * `byEvent` is ALWAYS fully rebuilt from `byMarket` on each batch so that
3642
+ * dropping arb values (e.g. m2 goes from 0.30 → 0.02) are reflected correctly
3643
+ * — there is no stale running-max accumulation.
3644
+ *
3645
+ * Returns `{ byMarket: Map<string, number>; byEvent: Map<string, number> }`.
3646
+ */
3647
+ declare function useArbFeed(): UseArbFeedResult;
3648
+
3393
3649
  interface OrderbookResult {
3394
3650
  market: VenueMarket;
3395
3651
  outcome: VenueMarketOutcome;
@@ -3759,6 +4015,8 @@ interface UseSmartRouteOptions {
3759
4015
  side?: SmartRouteSide | null;
3760
4016
  /** Trade direction: "buy" (default) or "sell". */
3761
4017
  tradeSide?: "buy" | "sell" | null;
4018
+ /** Trading mode. Defaults to live. */
4019
+ mode?: ExecutionMode | null;
3762
4020
  /** Maximum USDC spend for the quote. Required for buy; optional for sell when sellShares is given. */
3763
4021
  maxSpend?: number;
3764
4022
  /** Sell only: target number of contracts to sell. */
@@ -4408,6 +4666,8 @@ interface UseVenueEventsOptions {
4408
4666
  sortBy?: string;
4409
4667
  /** Sort direction: "asc" or "desc". */
4410
4668
  sortDir?: string;
4669
+ /** Recurrence filter (for venue events that support recurrence dimensions). */
4670
+ recurrence?: string;
4411
4671
  /** If provided, enable the query. */
4412
4672
  enabled?: boolean;
4413
4673
  /** Page size when using cursor pagination. Default 20. */
@@ -5101,26 +5361,14 @@ declare function useVenueMarketMidpoints(options: UseVenueMarketMidpointsOptions
5101
5361
  promise: Promise<BatchMidpointsResponse>;
5102
5362
  };
5103
5363
 
5104
- interface PriceGapMarket {
5105
- id: string;
5106
- matchedVenueMarkets?: Array<{
5107
- id: string;
5108
- }> | null;
5109
- }
5110
- interface ComputePriceGapsInput {
5111
- markets: PriceGapMarket[];
5112
- midpointsByVenueMarketId: Map<string, number | null>;
5113
- }
5114
- /**
5115
- * Returns Map<targetVenueMarketId, gapPct> for markets whose gap is >= MIN_PRICE_GAP_PCT.
5116
- *
5117
- * Gap = max over matched siblings of
5118
- * `Math.abs(ownMidpoint - siblingMidpoint) / ownMidpoint * 100`
5119
- *
5120
- * Skip markets whose own midpoint is null/<=0. Skip sibling pairings whose
5121
- * midpoint is null/<=0. Omit markets whose resulting gap is < MIN_PRICE_GAP_PCT.
5122
- */
5123
- declare function computePriceGaps(input: ComputePriceGapsInput): Map<string, number>;
5364
+ declare const MIN_PRICE_GAP_PCT = 3;
5365
+ declare const MAX_PRICE_GAP_PCT = 50;
5366
+ type PriceGapValue = number;
5367
+ type ComputePriceGapsOptions = {
5368
+ markets: readonly VenueMarket[];
5369
+ midpointsByVenueMarketId: ReadonlyMap<string, number | null | undefined>;
5370
+ };
5371
+ declare const computePriceGaps: ({ markets, midpointsByVenueMarketId, }: ComputePriceGapsOptions) => Map<string, PriceGapValue>;
5124
5372
 
5125
5373
  /**
5126
5374
  * Fetch REST midpoints for a *dynamic* set of venue markets and cache them
@@ -5188,5 +5436,10 @@ interface UseAppConfigResult {
5188
5436
  * Cached for 5 minutes — config rarely changes at runtime.
5189
5437
  */
5190
5438
  declare function useAppConfig(): UseAppConfigResult;
5439
+ /**
5440
+ * Read the current App's UI config from the React Query cache without starting a fetch.
5441
+ * Use this in surfaces that open after config has already been loaded by a parent screen.
5442
+ */
5443
+ declare function useCachedAppConfig(): UseAppConfigResult;
5191
5444
 
5192
- export { AUTH_CHOOSER_OPEN_EVENT, type AggAuthContextValue, type AggAuthSignInOptions, type AggBalanceContextValue, AggBalanceProvider, AggProvider, type AggProviderProps, AggProvider as AggSdkProvider, type AggProviderProps as AggSdkProviderProps, type AggUiConfig, type AggUiConfigInput, type AggUiLabels, type AggUiLabelsInput, AggUiProvider, CHART_TIME_RANGES, CONFIRMED_MATCH_STATUSES, type ChartTimeRange, type ClosedPositionTotals, type ComputePriceGapsInput, DEFAULT_AGG_ROOT_CLASS_NAME, type DagStepProgress, type EventListStateContextValue, EventListStateProvider, type EventListStateSnapshot, type EventTradingContextValue, type EventTradingState, type ExecutionProgressPhase, type ExecutionTerminalOrderEvent, type GeoBlockState, type GetOrdersQuery, type GetPositionsQuery, type InvalidateUserActivityOptions, type InvalidateUserMoneyStateOptions, type LiveBestPrices, type LiveCandle, type MarketChartCandle, type MarketChartData, type MarketChartVenueData, type MarketOrderbookData, type MarketOrderbookIntegrity, MarketStatus, type MarketTradingState, MatchStatus, MatchType, type OrderEligibility, type OrderEligibilityReason, type OrderListItem, type OrderbookResult, type PositionGroup, type PriceGapMarket, type RedeemEvent, type RedeemLegLifecycle, type RedeemLifecycleState, RedeemRejectedError, type RollingChartWindow, type ScaledCandlePoint, type SdkUiConfig, type SdkUiConfigInput, type SdkUiProviderProps, type ThemeMode, TradeSide, type TradingAction, type TradingState, type TradingStateBase, type TradingStateKind, type UseAggAuthOptions, type UseAggAuthReturn, type UseAppConfigResult, type UseCategoriesOptions, type UseEnrichedVenueEventOptions, type UseExecuteManagedOptions, type UseExecutionOrdersOptions, type UseExecutionPositionsOptions, type UseExecutionProgressOptions, type UseExecutionProgressResult, type UseExternalIdOptions, type UseExternalIdReturn, type UseLinkAccountReturn, type UseLiveCandleOverlayOptions, type UseLiveCandleOverlayResult, type UseLiveCandlesOptions, type UseLiveCandlesResult, type UseLiveMarketResult, type UseMarketChartOptions, type UseMarketChartResult, type UseMarketOrderbookOptions, type UseMarketOrderbookResult, type UseMarketOrderbookVenueOutcome, type UseMarketSearchOptions, type UseMidpointsResult, type UseOrderBookOptions, type UseOrderbookQuoteOptions, type UseOrderbookQuoteResult, type UseOrdersOptions, type UsePositionsOptions, type UseQuoteManagedOptions, type UseRedeemLifecycleInput, type UseRollingChartWindowOptions, type UseSearchOptions, type UseSmartRouteOptions, type UseSmartRouteResult, type UseTradableVenuesResult, type UseUserActivityOptions, type UseUserHoldingsOptions, type UseVenueEventOptions, type UseVenueEventsOptions, type UseVenueMarketMidpointsOptions, type UseVenueMarketsOptions, type UseVisibleIdsOptions, type UseVisibleIdsResult, type UserActivityInvalidationStrategy, Venue, type VenueEvent, type VenueEventWithMarkets, type VenueMarket, type VenueMarketOutcome, type WalletActionSendTokenParams, type WalletActions, computeClosedPositionTotals, computePriceGaps, defaultAggUiConfig, defaultAggUiConfig as defaultSdkUiConfig, executionKeys, findLivePriceById, getBuilder, getOrCreateBuilder, getWalletAddressFromUserProfile, invalidateBalanceQueries, invalidatePositionQueries, invalidateUserActivityQueries, invalidateUserMoneyState, mergeBestPricesPreferringLive, optimizedImageUrl, parseEmail, parseEmailStrict, rangeToSeconds, requestAggAuthChooserOpen, resolveAggUiLabels, resolveDefaultMarket as resolveDefaultTradingMarket, resolveEventTradingState, resolveMarketTradingState, resolveMarketWinningOutcome, resolveOrderEligibility, resolveRollingWindow, resolveTradingStateKind, sortVenues, timeRangeToInterval, tradingReducer, useAggAuth, useAggAuthContext, useAggAuthState, useAggBalance, useAggBalanceContext, useAggBalanceState, useAggClient, useAggLabels, useAggUiConfig, useAggWebSocket, useAppConfig, useCategories, useDebouncedValue, useEnrichedVenueEvent, useEventListState, useEventOrderbookData, useEventTradingContext, useExecuteManaged, useExecutionOrders, useExecutionPositions, useExecutionProgress, useExternalId, useGeoBlock, useLabels, useLinkAccount, useLiveBestPrices, useLiveCandleOverlay, useLiveCandles, useLiveMarket, useLiveMarketStores, useLiveOutcomePrices, useLiveTrades, useMarketChart, useMarketOrderbook, useMarketSearch, useMidpoints, useOnBalanceUpdate, useOnOrderSubmitted, useOnRedeemEvent, useOnWithdrawalLifecycle, useOrderBook, useOrderbookQuote, useOrders, usePositions, useQuoteManaged, useRampQuotes, useRampSession, useRedeem, useRedeemEligibleCount, useRedeemLifecycle, useRedeemLifecycles, useRollingChartWindow, useSdkLabels, useSdkUiConfig, useSearch, useSmartRoute, useTradableVenues, useUserActivity, useUserHoldings, useVenueEvent, useVenueEvents, useVenueMarketMidpoints, useVenueMarkets, useViewportMidpoints, useVisibleIds, userActivityQueryKeys };
5445
+ export { AUTH_CHOOSER_OPEN_EVENT, type AggAuthContextValue, type AggAuthSignInOptions, type AggBalanceContextValue, AggBalanceProvider, AggProvider, type AggProviderProps, AggProvider as AggSdkProvider, type AggProviderProps as AggSdkProviderProps, type AggUiConfig, type AggUiConfigInput, type AggUiLabels, type AggUiLabelsInput, AggUiProvider, CHART_TIME_RANGES, CONFIRMED_MATCH_STATUSES, type ChartTimeRange, type ClosedPositionTotals, type ComputePriceGapsOptions, DEFAULT_AGG_ROOT_CLASS_NAME, type DagStepProgress, type EventListStateContextValue, EventListStateProvider, type EventListStateSnapshot, type EventTradingContextValue, type EventTradingState, type ExecutionProgressPhase, type ExecutionTerminalOrderEvent, type GeoBlockState, type GetOrdersQuery, type GetPositionsQuery, type InvalidateUserActivityOptions, type InvalidateUserMoneyStateOptions, type LiveBestPrices, type LiveCandle, MAX_PRICE_GAP_PCT, MIN_PRICE_GAP_PCT, type MarketChartCandle, type MarketChartData, type MarketChartVenueData, type MarketOrderbookData, type MarketOrderbookIntegrity, MarketStatus, type MarketTradingState, MatchStatus, MatchType, type OrderEligibility, type OrderEligibilityReason, type OrderListItem, type OrderbookResult, type PositionGroup, type PriceGapValue, type RedeemEvent, type RedeemLegLifecycle, type RedeemLifecycleState, RedeemRejectedError, type RollingChartWindow, type ScaledCandlePoint, type SdkUiConfig, type SdkUiConfigInput, type SdkUiProviderProps, type ThemeMode, TradeSide, type TradingAction, type TradingState, type TradingStateBase, type TradingStateKind, type UseAggAuthOptions, type UseAggAuthReturn, type UseAppConfigResult, type UseArbFeedResult, type UseCategoriesOptions, type UseCategoryChildrenOptions, type UseEnrichedVenueEventOptions, type UseExecuteManagedOptions, type UseExecutionOrdersOptions, type UseExecutionPositionsOptions, type UseExecutionProgressOptions, type UseExecutionProgressResult, type UseExternalIdOptions, type UseExternalIdReturn, type UseLinkAccountReturn, type UseLiveCandleOverlayOptions, type UseLiveCandleOverlayResult, type UseLiveCandlesOptions, type UseLiveCandlesResult, type UseLiveMarketResult, type UseMarketArbResult, type UseMarketChartOptions, type UseMarketChartResult, type UseMarketOrderbookOptions, type UseMarketOrderbookResult, type UseMarketOrderbookVenueOutcome, type UseMarketSearchOptions, type UseMidpointsResult, type UseOrderBookOptions, type UseOrderbookQuoteOptions, type UseOrderbookQuoteResult, type UseOrdersOptions, type UsePositionsOptions, type UseQuoteManagedOptions, type UseRedeemLifecycleInput, type UseRollingChartWindowOptions, type UseSearchOptions, type UseSmartRouteOptions, type UseSmartRouteResult, type UseTradableVenuesResult, type UseUserActivityOptions, type UseUserHoldingsOptions, type UseVenueEventOptions, type UseVenueEventsOptions, type UseVenueMarketMidpointsOptions, type UseVenueMarketsOptions, type UseVisibleIdsOptions, type UseVisibleIdsResult, type UserActivityInvalidationStrategy, Venue, type VenueAvailabilityState, type VenueEvent, type VenueEventWithMarkets, type VenueMarket, type VenueMarketOutcome, type WalletActionSendTokenParams, type WalletActions, computeClosedPositionTotals, computePriceGaps, defaultAggUiConfig, defaultAggUiConfig as defaultSdkUiConfig, executionKeys, findLivePriceById, getBuilder, getOrCreateBuilder, getVenueAvailabilityState, getVisibleVenueIdsByConfig, getVisibleVenuesByConfig, getWalletAddressFromUserProfile, invalidateBalanceQueries, invalidatePositionQueries, invalidateUserActivityQueries, invalidateUserClaimState, invalidateUserMoneyState, isVenueDisabledByConfig, mergeBestPricesPreferringLive, normalizeVenueId, optimizedImageUrl, parseEmail, parseEmailStrict, rangeToSeconds, requestAggAuthChooserOpen, resolveAggUiLabels, resolveDefaultMarket as resolveDefaultTradingMarket, resolveEventTradingState, resolveMarketTradingState, resolveMarketWinningOutcome, resolveOrderEligibility, resolveRollingWindow, resolveTradingStateKind, sortVenues, timeRangeToInterval, tradingReducer, useAggAuth, useAggAuthContext, useAggAuthState, useAggBalance, useAggBalanceContext, useAggBalanceState, useAggClient, useAggLabels, useAggUiConfig, useAggWebSocket, useAppConfig, useArbFeed, useCachedAppConfig, useCategories, useCategoryChildren, useDebouncedValue, useEnrichedVenueEvent, useEventListState, useEventOrderbookData, useEventTradingContext, useExecuteManaged, useExecutionOrders, useExecutionPositions, useExecutionProgress, useExternalId, useGeoBlock, useLabels, useLinkAccount, useLiveBestPrices, useLiveCandleOverlay, useLiveCandles, useLiveMarket, useLiveMarketStores, useLiveOutcomePrices, useLiveTrades, useMarketArb, useMarketChart, useMarketOrderbook, useMarketSearch, useMidpoints, useOnBalanceUpdate, useOnOrderEvent, useOnOrderSubmitted, useOnRedeemEvent, useOnWithdrawalLifecycle, useOptionalAggClient, useOrderBook, useOrderbookQuote, useOrders, usePositions, useQuoteManaged, useRampQuotes, useRampSession, useRedeem, useRedeemEligibleCount, useRedeemLifecycle, useRedeemLifecycles, useRollingChartWindow, useSdkLabels, useSdkUiConfig, useSearch, useSmartRoute, useTradableVenues, useUserActivity, useUserHoldings, useVenueEvent, useVenueEvents, useVenueMarketMidpoints, useVenueMarkets, useViewportMidpoints, useVisibleIds, userActivityQueryKeys };