react-klinecharts-ui 0.1.0 → 0.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.cts CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as react from 'react';
2
2
  import { Dispatch, RefObject, ReactNode, ReactElement } from 'react';
3
- import { Period, SymbolInfo, KLineData, Chart, DeepPartial, Styles, OverlayTemplate, DataLoader } from 'react-klinecharts';
3
+ import { Period, SymbolInfo, KLineData, Chart, DeepPartial, Styles, OverlayTemplate, DataLoader, IndicatorTemplate } from 'react-klinecharts';
4
4
  import { OrderLineExtendData } from './extensions.cjs';
5
- export { OrderLineFontStyle, OrderLineLabelStyle, OrderLineLineStyle, OrderLineMarkStyle, OrderLinePadding, orderLine, overlays, registerExtensions } from './extensions.cjs';
5
+ export { DepthOverlayExtendData, DepthOverlayRow, OrderLineFontStyle, OrderLineLabelStyle, OrderLineLineStyle, OrderLineMarkStyle, OrderLinePadding, depthOverlay, indicators, orderLine, overlays, registerExtensions } from './extensions.cjs';
6
6
 
7
7
  interface TerminalPeriod extends Period {
8
8
  label: string;
@@ -102,12 +102,19 @@ type KlinechartsUIAction = {
102
102
  type: "SET_SCREENSHOT_URL";
103
103
  url: string | null;
104
104
  };
105
+ /** Callback pushed by useUndoRedo so other hooks can record actions. */
106
+ type UndoRedoListener = (action: {
107
+ type: string;
108
+ data: unknown;
109
+ }) => void;
105
110
  /** The stable, dispatch-only slice of the context (never changes after mount). */
106
111
  interface KlinechartsUIDispatchValue {
107
112
  dispatch: Dispatch<KlinechartsUIAction>;
108
113
  datafeed: Datafeed;
109
114
  onSettingsChange?: (settings: Record<string, unknown>) => void;
110
115
  fullscreenContainerRef: RefObject<HTMLElement | null>;
116
+ /** Ref populated by useUndoRedo; other hooks call it to record actions. */
117
+ undoRedoListenerRef: RefObject<UndoRedoListener | null>;
111
118
  }
112
119
  /** Combined context value returned by `useKlinechartsUI()`. */
113
120
  interface KlinechartsUIContextValue extends KlinechartsUIDispatchValue {
@@ -192,6 +199,14 @@ interface UseIndicatorsReturn {
192
199
  }[];
193
200
  isMainIndicatorActive: (name: string) => boolean;
194
201
  isSubIndicatorActive: (name: string) => boolean;
202
+ /** Collapse a sub-indicator pane to minimal height (30px). */
203
+ collapseSubIndicator: (name: string) => void;
204
+ /** Expand a previously collapsed sub-indicator pane to its prior height. */
205
+ expandSubIndicator: (name: string) => void;
206
+ /** Whether the given sub-indicator pane is currently collapsed. */
207
+ isSubIndicatorCollapsed: (name: string) => boolean;
208
+ /** Reorder a sub-indicator pane up or down relative to other sub-indicators. */
209
+ reorderSubIndicator: (name: string, direction: "up" | "down") => void;
195
210
  }
196
211
  declare function useIndicators(): UseIndicatorsReturn;
197
212
 
@@ -220,12 +235,16 @@ interface UseDrawingToolsReturn {
220
235
  magnetMode: MagnetMode;
221
236
  isLocked: boolean;
222
237
  isVisible: boolean;
238
+ /** Whether drawing tools auto-retrigger after completing a shape. Default: true. */
239
+ autoRetrigger: boolean;
223
240
  selectTool: (name: string) => void;
224
241
  clearActiveTool: () => void;
225
242
  setMagnetMode: (mode: MagnetMode) => void;
226
243
  toggleLock: () => void;
227
244
  toggleVisibility: () => void;
228
245
  removeAllDrawings: () => void;
246
+ /** Enable/disable auto-retrigger mode. */
247
+ setAutoRetrigger: (enabled: boolean) => void;
229
248
  }
230
249
  declare function useDrawingTools(): UseDrawingToolsReturn;
231
250
 
@@ -358,6 +377,311 @@ interface UseOrderLinesReturn {
358
377
  }
359
378
  declare function useOrderLines(): UseOrderLinesReturn;
360
379
 
380
+ type UndoRedoActionType = "overlay_added" | "overlays_removed" | "indicator_toggled";
381
+ interface UndoRedoAction {
382
+ type: UndoRedoActionType;
383
+ /** Snapshot data needed to undo/redo this action */
384
+ data: any;
385
+ }
386
+ interface UseUndoRedoReturn {
387
+ /** Whether there are actions to undo */
388
+ canUndo: boolean;
389
+ /** Whether there are actions to redo */
390
+ canRedo: boolean;
391
+ /** Undo the last action */
392
+ undo: () => void;
393
+ /** Redo the last undone action */
394
+ redo: () => void;
395
+ /** Push a new action onto the undo stack (clears redo stack) */
396
+ pushAction: (action: UndoRedoAction) => void;
397
+ /** Clear all undo/redo history */
398
+ clear: () => void;
399
+ }
400
+ /**
401
+ * Headless hook for undo/redo of drawing overlays and indicator toggles.
402
+ *
403
+ * Supports keyboard shortcuts: Ctrl+Z (undo), Ctrl+Y / Ctrl+Shift+Z (redo).
404
+ */
405
+ declare function useUndoRedo(): UseUndoRedoReturn;
406
+
407
+ interface ChartLayoutState {
408
+ version: string;
409
+ meta: {
410
+ symbol: string;
411
+ period: string;
412
+ timestamp: number;
413
+ lastModified: number;
414
+ };
415
+ indicators: Array<{
416
+ paneId: string;
417
+ name: string;
418
+ calcParams: any[];
419
+ visible: boolean;
420
+ styles?: any;
421
+ }>;
422
+ drawings: Array<{
423
+ name: string;
424
+ points: any[];
425
+ styles?: any;
426
+ extendData?: any;
427
+ }>;
428
+ }
429
+ interface LayoutEntry {
430
+ id: string;
431
+ name: string;
432
+ symbol: string;
433
+ period: string;
434
+ timestamp: number;
435
+ lastModified: number;
436
+ state: ChartLayoutState;
437
+ }
438
+ interface UseLayoutManagerReturn {
439
+ /** List of saved layout entries */
440
+ layouts: LayoutEntry[];
441
+ /** Save current chart state as a named layout */
442
+ saveLayout: (name: string) => string | null;
443
+ /** Load a layout by ID and apply to the chart */
444
+ loadLayout: (id: string) => boolean;
445
+ /** Delete a layout by ID */
446
+ deleteLayout: (id: string) => void;
447
+ /** Rename a layout */
448
+ renameLayout: (id: string, name: string) => boolean;
449
+ /** Refresh the layouts list from localStorage */
450
+ refreshLayouts: () => void;
451
+ /** Whether auto-save is enabled */
452
+ autoSaveEnabled: boolean;
453
+ /** Toggle auto-save on/off */
454
+ setAutoSaveEnabled: (enabled: boolean) => void;
455
+ }
456
+ /**
457
+ * Headless hook for saving, loading, and managing named chart layouts
458
+ * via localStorage. Supports auto-save with 5-second debounce.
459
+ */
460
+ declare function useLayoutManager(): UseLayoutManagerReturn;
461
+
462
+ type ScriptPlacement = "main" | "sub";
463
+ interface UseScriptEditorReturn {
464
+ /** Current script source code */
465
+ code: string;
466
+ setCode: (code: string) => void;
467
+ /** Display name of the script */
468
+ scriptName: string;
469
+ setScriptName: (name: string) => void;
470
+ /** Comma-separated numeric params (e.g. "14, 26, 9") */
471
+ params: string;
472
+ setParams: (params: string) => void;
473
+ /** Where to place the indicator */
474
+ placement: ScriptPlacement;
475
+ setPlacement: (p: ScriptPlacement) => void;
476
+ /** Last error message (empty = no error) */
477
+ error: string;
478
+ /** Last status message */
479
+ status: string;
480
+ /** Whether the script is currently running */
481
+ isRunning: boolean;
482
+ /** Whether there is a script indicator currently on the chart */
483
+ hasActiveScript: boolean;
484
+ /** Execute the script and register the indicator */
485
+ runScript: () => void;
486
+ /** Remove the current script indicator from the chart */
487
+ removeScript: () => void;
488
+ /** Reset code to the default template */
489
+ resetCode: () => void;
490
+ /** Export the current code as a downloadable .js file */
491
+ exportScript: () => void;
492
+ /** Import a script from a File object */
493
+ importScript: (file: File) => void;
494
+ /** The default template code */
495
+ defaultScript: string;
496
+ }
497
+ /**
498
+ * Headless hook for a Pine Script-style custom indicator editor.
499
+ *
500
+ * Scripts are plain JavaScript function bodies that receive:
501
+ * - `TA` — technical analysis math library
502
+ * - `dataList` — KLineData[] (open, high, low, close, volume, timestamp)
503
+ * - `params` — number[] from the params input
504
+ *
505
+ * Must return an array of objects, one per candle. Each key = one chart series.
506
+ */
507
+ declare function useScriptEditor(): UseScriptEditorReturn;
508
+
509
+ interface CrosshairBarData {
510
+ open: number;
511
+ high: number;
512
+ low: number;
513
+ close: number;
514
+ volume: number;
515
+ timestamp: number;
516
+ change: number;
517
+ changePercent: number;
518
+ }
519
+ interface UseCrosshairReturn {
520
+ /** OHLCV data of the bar under the crosshair. Null when cursor is off-chart. */
521
+ barData: CrosshairBarData | null;
522
+ }
523
+ declare function useCrosshair(): UseCrosshairReturn;
524
+
525
+ type AlertCondition = "crossing_up" | "crossing_down" | "crossing";
526
+ interface Alert {
527
+ id: string;
528
+ price: number;
529
+ condition: AlertCondition;
530
+ message?: string;
531
+ triggered: boolean;
532
+ }
533
+ interface UseAlertsReturn {
534
+ alerts: Alert[];
535
+ addAlert: (price: number, condition: AlertCondition, message?: string) => string;
536
+ removeAlert: (id: string) => void;
537
+ clearAlerts: () => void;
538
+ onAlertTriggered: (callback: (alert: Alert) => void) => void;
539
+ }
540
+ declare function useAlerts(): UseAlertsReturn;
541
+
542
+ type ExportFormat = "csv" | "json";
543
+ interface UseDataExportReturn {
544
+ /** Export all chart data */
545
+ exportAll: (format: ExportFormat) => void;
546
+ /** Export only the visible range */
547
+ exportVisible: (format: ExportFormat) => void;
548
+ }
549
+ declare function useDataExport(): UseDataExportReturn;
550
+
551
+ interface WatchlistItem {
552
+ ticker: string;
553
+ lastPrice: number | null;
554
+ change: number | null;
555
+ changePercent: number | null;
556
+ }
557
+ interface UseWatchlistReturn {
558
+ items: WatchlistItem[];
559
+ addSymbol: (ticker: string) => void;
560
+ removeSymbol: (ticker: string) => void;
561
+ switchSymbol: (ticker: string) => void;
562
+ activeSymbol: string | null;
563
+ }
564
+ declare function useWatchlist(): UseWatchlistReturn;
565
+
566
+ type ReplaySpeed = 1 | 2 | 5 | 10;
567
+ interface UseReplayReturn {
568
+ /** Whether a replay session is active */
569
+ isReplaying: boolean;
570
+ /** Whether the replay is currently paused */
571
+ isPaused: boolean;
572
+ /** Current playback speed multiplier */
573
+ speed: ReplaySpeed;
574
+ /** Current bar index in the replay */
575
+ barIndex: number;
576
+ /** Total number of bars in the saved data */
577
+ totalBars: number;
578
+ /** Start replaying from the beginning */
579
+ startReplay: () => void;
580
+ /** Stop replay and restore original data */
581
+ stopReplay: () => void;
582
+ /** Toggle play/pause */
583
+ togglePause: () => void;
584
+ /** Advance one bar while paused */
585
+ stepForward: () => void;
586
+ /** Go back one bar while paused */
587
+ stepBackward: () => void;
588
+ /** Seek to a specific bar index (0-based). Pauses playback. */
589
+ seekTo: (index: number) => void;
590
+ /** Change the playback speed */
591
+ setSpeed: (speed: ReplaySpeed) => void;
592
+ }
593
+ /**
594
+ * Headless hook for historical data replay (bar-by-bar playback).
595
+ *
596
+ * Loads the current chart data, clears the chart, then progressively adds
597
+ * bars back one at a time at the configured speed. Useful for backtesting
598
+ * and reviewing price action.
599
+ */
600
+ declare function useReplay(): UseReplayReturn;
601
+
602
+ interface CompareSymbol {
603
+ ticker: string;
604
+ /** Base price (first bar close) used for percentage normalization */
605
+ basePrice: number | null;
606
+ color: string;
607
+ visible: boolean;
608
+ }
609
+ interface UseCompareReturn {
610
+ /** Currently compared symbols */
611
+ symbols: CompareSymbol[];
612
+ /** Add a symbol — fetches data, normalizes to %, renders as indicator line */
613
+ addSymbol: (ticker: string, color?: string) => Promise<void>;
614
+ /** Remove a symbol overlay */
615
+ removeSymbol: (ticker: string) => void;
616
+ /** Toggle visibility of a compared symbol */
617
+ toggleSymbol: (ticker: string) => void;
618
+ /** Clear all comparisons */
619
+ clearAll: () => void;
620
+ }
621
+ /**
622
+ * Headless hook for comparing multiple symbols on the same chart.
623
+ *
624
+ * Fetches historical data for each added symbol via the datafeed,
625
+ * normalizes prices to percentage change from the first bar,
626
+ * and renders each as a custom indicator line on the main pane.
627
+ */
628
+ declare function useCompare(): UseCompareReturn;
629
+
630
+ interface MeasurePoint {
631
+ price: number;
632
+ timestamp: number;
633
+ barIndex: number;
634
+ }
635
+ interface MeasureResult {
636
+ from: MeasurePoint;
637
+ to: MeasurePoint;
638
+ /** Absolute price difference */
639
+ priceDiff: number;
640
+ /** Percentage change from → to */
641
+ pricePercent: number;
642
+ /** Number of bars between the two points */
643
+ bars: number;
644
+ /** Time difference in milliseconds */
645
+ timeDiff: number;
646
+ }
647
+ interface UseMeasureReturn {
648
+ /** Whether measure mode is active (waiting for clicks) */
649
+ isActive: boolean;
650
+ /** Start measure mode — next two clicks on chart set from/to */
651
+ startMeasure: () => void;
652
+ /** Cancel measure mode */
653
+ cancelMeasure: () => void;
654
+ /** Current measurement result (null until both points are set) */
655
+ result: MeasureResult | null;
656
+ /** Clear the current measurement */
657
+ clearResult: () => void;
658
+ /** First point (set after first click) */
659
+ fromPoint: MeasurePoint | null;
660
+ }
661
+ /**
662
+ * Headless hook for measuring distance/time/percentage between two points.
663
+ *
664
+ * Activates measure mode, captures two clicks on the chart via overlay
665
+ * interaction, then computes price diff, %, bar count, and time diff.
666
+ */
667
+ declare function useMeasure(): UseMeasureReturn;
668
+
669
+ interface Annotation {
670
+ id: string;
671
+ text: string;
672
+ price: number;
673
+ timestamp: number;
674
+ color?: string;
675
+ }
676
+ interface UseAnnotationsReturn {
677
+ annotations: Annotation[];
678
+ addAnnotation: (text: string, price: number, timestamp: number, color?: string) => string;
679
+ removeAnnotation: (id: string) => void;
680
+ updateAnnotation: (id: string, updates: Partial<Pick<Annotation, "text" | "color">>) => void;
681
+ clearAnnotations: () => void;
682
+ }
683
+ declare function useAnnotations(): UseAnnotationsReturn;
684
+
361
685
  interface TimezoneOption {
362
686
  key: string;
363
687
  localeKey: string;
@@ -389,6 +713,76 @@ declare const INDICATOR_PARAMS: Record<string, IndicatorDefinition>;
389
713
  */
390
714
  declare function createDataLoader(datafeed: Datafeed, dispatch: Dispatch<KlinechartsUIAction>): DataLoader;
391
715
 
716
+ /**
717
+ * Technical Analysis (TA) Utility Library
718
+ * Ported logic to match TradingView / Pine Script calculations.
719
+ */
720
+ declare const TA: {
721
+ /**
722
+ * Simple Moving Average (SMA)
723
+ * Optimized with running sum.
724
+ */
725
+ sma: (data: number[], period: number) => (number | null)[];
726
+ /**
727
+ * Exponential Moving Average (EMA)
728
+ * alpha = 2 / (period + 1)
729
+ */
730
+ ema: (data: number[], period: number) => (number | null)[];
731
+ /**
732
+ * Running Moving Average (RMA / Wilder's MA)
733
+ * Used in RSI, alpha = 1 / period
734
+ */
735
+ rma: (data: number[], period: number) => (number | null)[];
736
+ /**
737
+ * Standard Deviation
738
+ */
739
+ stdev: (data: number[], period: number) => (number | null)[];
740
+ /**
741
+ * Relative Strength Index (RSI)
742
+ */
743
+ rsi: (data: number[], period: number) => (number | null)[];
744
+ /**
745
+ * Moving Average Convergence Divergence (MACD)
746
+ */
747
+ macd: (data: number[], fastPeriod: number, slowPeriod: number, signalPeriod: number) => {
748
+ dif: (number | null)[];
749
+ dea: (number | null)[];
750
+ macd: (number | null)[];
751
+ };
752
+ /**
753
+ * Bollinger Bands (BOLL)
754
+ */
755
+ bollinger: (data: number[], period: number, multiplier: number) => {
756
+ mid: (number | null)[];
757
+ upper: (number | null)[];
758
+ lower: (number | null)[];
759
+ };
760
+ /**
761
+ * Weighted Moving Average (WMA)
762
+ */
763
+ wma: (data: number[], period: number) => (number | null)[];
764
+ /**
765
+ * True Range (TR)
766
+ */
767
+ tr: (highs: number[], lows: number[], closes: number[]) => number[];
768
+ /**
769
+ * Average True Range (ATR)
770
+ */
771
+ atr: (highs: number[], lows: number[], closes: number[], period: number) => (number | null)[];
772
+ /**
773
+ * Volume Weighted Average Price (VWAP)
774
+ */
775
+ vwap: (highs: number[], lows: number[], closes: number[], volumes: number[]) => (number | null)[];
776
+ /**
777
+ * Commodity Channel Index (CCI)
778
+ */
779
+ cci: (highs: number[], lows: number[], closes: number[], period: number) => (number | null)[];
780
+ /**
781
+ * Hull Moving Average (HMA)
782
+ */
783
+ hma: (data: number[], period: number) => (number | null)[];
784
+ };
785
+
392
786
  declare const arrow: OverlayTemplate;
393
787
 
394
788
  declare const circle: OverlayTemplate;
@@ -409,8 +803,12 @@ declare const fibonacciSpeedResistanceFan: OverlayTemplate;
409
803
 
410
804
  declare const fibonacciExtension: OverlayTemplate;
411
805
 
806
+ declare const fibRetracement: OverlayTemplate;
807
+
412
808
  declare const gannBox: OverlayTemplate;
413
809
 
810
+ declare const gannFan: OverlayTemplate;
811
+
414
812
  declare const threeWaves: OverlayTemplate;
415
813
 
416
814
  declare const fiveWaves: OverlayTemplate;
@@ -419,8 +817,48 @@ declare const eightWaves: OverlayTemplate;
419
817
 
420
818
  declare const anyWaves: OverlayTemplate;
421
819
 
820
+ declare const elliottWave: OverlayTemplate;
821
+
422
822
  declare const abcd: OverlayTemplate;
423
823
 
424
824
  declare const xabcd: OverlayTemplate;
425
825
 
426
- export { CANDLE_TYPES, COMPARE_RULES, type CandleTypeItem, type CandleTypeOption, type CompareRule, DEFAULT_PERIODS, DRAWING_CATEGORIES, type Datafeed, type DrawingCategoryItem, type DrawingTool, type DrawingToolCategory, type DrawingToolItem, INDICATOR_PARAMS, type IndicatorDefinition, type IndicatorInfo, type IndicatorParamConfig, type KlinechartsUIAction, type KlinechartsUIContextValue, KlinechartsUIDispatchContext, type KlinechartsUIDispatchValue, type KlinechartsUIOptions, KlinechartsUIProvider, type KlinechartsUISettingsState, type KlinechartsUIState, KlinechartsUIStateContext, MAIN_INDICATORS, type MagnetMode, OrderLineExtendData, type OrderLineOptions, PRICE_AXIS_TYPES, type PartialSymbolInfo, type PriceAxisType, SUB_INDICATORS, TIMEZONES, TOOLTIP_SHOW_RULES, type TerminalPeriod, type TimezoneItem, type TimezoneOption, type TooltipShowRule, type UseDrawingToolsReturn, type UseFullscreenReturn, type UseIndicatorsReturn, type UseKlinechartsUILoadingReturn, type UseKlinechartsUISettingsReturn, type UseKlinechartsUIThemeReturn, type UseOrderLinesReturn, type UsePeriodsReturn, type UseScreenshotReturn, type UseSymbolSearchReturn, type UseTimezoneReturn, YAXIS_POSITIONS, type YAxisPosition, abcd, anyWaves, arrow, circle, createDataLoader, eightWaves, fibonacciCircle, fibonacciExtension, fibonacciSegment, fibonacciSpeedResistanceFan, fibonacciSpiral, fiveWaves, gannBox, parallelogram, rect, threeWaves, triangle, useDrawingTools, useFullscreen, useIndicators, useKlinechartsUI, useKlinechartsUILoading, useKlinechartsUISettings, useKlinechartsUITheme, useOrderLines, usePeriods, useScreenshot, useSymbolSearch, useTimezone, xabcd };
826
+ declare const ray: OverlayTemplate;
827
+
828
+ declare const parallelChannel: OverlayTemplate;
829
+
830
+ declare const longPosition: OverlayTemplate;
831
+
832
+ declare const shortPosition: OverlayTemplate;
833
+
834
+ declare const measure: OverlayTemplate;
835
+
836
+ declare const brush: OverlayTemplate;
837
+
838
+ declare const bollTv: IndicatorTemplate;
839
+
840
+ declare const cci: IndicatorTemplate;
841
+
842
+ declare const hma: IndicatorTemplate;
843
+
844
+ declare const ichimoku: IndicatorTemplate;
845
+
846
+ declare const maRibbon: IndicatorTemplate;
847
+
848
+ declare const macdTv: IndicatorTemplate;
849
+
850
+ declare const pivotPoints: IndicatorTemplate;
851
+
852
+ /**
853
+ * TradingView-style RSI with RMA-based calculation,
854
+ * dashed level lines at 70/50/30, and gradient fills.
855
+ */
856
+ declare const rsiTv: IndicatorTemplate;
857
+
858
+ declare const stochastic: IndicatorTemplate;
859
+
860
+ declare const superTrend: IndicatorTemplate;
861
+
862
+ declare const vwap: IndicatorTemplate;
863
+
864
+ export { type Alert, type AlertCondition, type Annotation, CANDLE_TYPES, COMPARE_RULES, type CandleTypeItem, type CandleTypeOption, type ChartLayoutState, type CompareRule, type CompareSymbol, type CrosshairBarData, DEFAULT_PERIODS, DRAWING_CATEGORIES, type Datafeed, type DrawingCategoryItem, type DrawingTool, type DrawingToolCategory, type DrawingToolItem, type ExportFormat, INDICATOR_PARAMS, type IndicatorDefinition, type IndicatorInfo, type IndicatorParamConfig, type KlinechartsUIAction, type KlinechartsUIContextValue, KlinechartsUIDispatchContext, type KlinechartsUIDispatchValue, type KlinechartsUIOptions, KlinechartsUIProvider, type KlinechartsUISettingsState, type KlinechartsUIState, KlinechartsUIStateContext, type LayoutEntry, MAIN_INDICATORS, type MagnetMode, type MeasurePoint, type MeasureResult, OrderLineExtendData, type OrderLineOptions, PRICE_AXIS_TYPES, type PartialSymbolInfo, type PriceAxisType, type ReplaySpeed, SUB_INDICATORS, type ScriptPlacement, TA, TIMEZONES, TOOLTIP_SHOW_RULES, type TerminalPeriod, type TimezoneItem, type TimezoneOption, type TooltipShowRule, type UndoRedoAction, type UndoRedoActionType, type UseAlertsReturn, type UseAnnotationsReturn, type UseCompareReturn, type UseCrosshairReturn, type UseDataExportReturn, type UseDrawingToolsReturn, type UseFullscreenReturn, type UseIndicatorsReturn, type UseKlinechartsUILoadingReturn, type UseKlinechartsUISettingsReturn, type UseKlinechartsUIThemeReturn, type UseLayoutManagerReturn, type UseMeasureReturn, type UseOrderLinesReturn, type UsePeriodsReturn, type UseReplayReturn, type UseScreenshotReturn, type UseScriptEditorReturn, type UseSymbolSearchReturn, type UseTimezoneReturn, type UseUndoRedoReturn, type UseWatchlistReturn, type WatchlistItem, YAXIS_POSITIONS, type YAxisPosition, abcd, anyWaves, arrow, bollTv, brush, cci, circle, createDataLoader, eightWaves, elliottWave, fibRetracement, fibonacciCircle, fibonacciExtension, fibonacciSegment, fibonacciSpeedResistanceFan, fibonacciSpiral, fiveWaves, gannBox, gannFan, hma, ichimoku, longPosition, maRibbon, macdTv, measure, parallelChannel, parallelogram, pivotPoints, ray, rect, rsiTv, shortPosition, stochastic, superTrend, threeWaves, triangle, useAlerts, useAnnotations, useCompare, useCrosshair, useDataExport, useDrawingTools, useFullscreen, useIndicators, useKlinechartsUI, useKlinechartsUILoading, useKlinechartsUISettings, useKlinechartsUITheme, useLayoutManager, useMeasure, useOrderLines, usePeriods, useReplay, useScreenshot, useScriptEditor, useSymbolSearch, useTimezone, useUndoRedo, useWatchlist, vwap, xabcd };