acttrader-charts 1.0.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.
@@ -0,0 +1,1351 @@
1
+ import { C as ChartConfig, O as OHLCVBar, I as IIndicator, a as ChartEventMap, S as SeriesType, b as ChartState, D as DrawingToolType, c as IDrawing, d as IWebSocketAdapter, T as TradeLevelType, A as AnyLevel, e as DrawingPoint, f as ScaleManager, V as Viewport, P as PriceRange$1, g as DrawingHandle, h as SerializedDrawing, i as Tick, j as StreamStatus } from './MACD-BmvUIYwI.cjs';
2
+ export { k as ActiveIndicatorState, B as BollingerBands, l as BottomBarColors, m as BottomBarLabels, n as BottomBarUiConfig, o as CanvasColorSettings, p as ChartLabels, q as ChartMiscLabels, r as ChartTheme, s as ChartThemeUi, t as CrosshairPosition, u as CrosshairUiConfig, v as DARK_THEME, w as DEFAULT_BOTTOM_BAR_CONFIG, x as DEFAULT_CROSSHAIR_CONFIG, y as DEFAULT_DRAWING_TOOLBAR_CONFIG, z as DEFAULT_INDICATOR_OVERLAY_CONFIG, E as DEFAULT_LABELS, F as DEFAULT_PRICE_AXIS_CONFIG, G as DEFAULT_TIME_AXIS_CONFIG, H as DEFAULT_TOP_BAR_CONFIG, J as DEFAULT_UI_CONFIG, K as DataLoaderParams, L as DeepPartial, M as DeepPartialChartTheme, N as DialogLabels, Q as DrawingToolbarColors, R as DrawingToolbarLabels, U as DrawingToolbarUiConfig, W as Duration, X as EMA, Y as IndicatorOverlayColors, Z as IndicatorOverlayUiConfig, _ as IndicatorParams, $ as IndicatorResult, a0 as IndicatorStateEntry, a1 as LIGHT_THEME, a2 as MACD, a3 as OhlcLabels, a4 as OrderSubmit, a5 as Padding, a6 as PendingOrderLevel, a7 as PositionLevel, a8 as PositionRenderStyle, a9 as PriceAxisUiConfig, aa as RSI, ab as SMA, ac as Theme, ad as TimeAxisUiConfig, ae as Timeframe, af as TopBarColors, ag as TopBarLabels, ah as TopBarUiConfig, ai as TradeDisplayFilter, aj as TradeLabels, ak as TradeLevel, al as TradeLevelColors, am as TradePanelColors, an as UiConfig, ao as deepMergeTheme, ap as resolveCssVarsInTheme, aq as resolveLabels, ar as resolveUiConfig } from './MACD-BmvUIYwI.cjs';
3
+
4
+ declare class ChartEngine {
5
+ private wrapper;
6
+ private canvasWrap;
7
+ private canvas;
8
+ private drawCanvas;
9
+ private ctx;
10
+ private drawCtx;
11
+ private topBar;
12
+ private bottomBar;
13
+ private leftBar;
14
+ private leftBarVisible;
15
+ private drawingToolsEnabled;
16
+ private _mobileLayout;
17
+ private indicatorOverlay;
18
+ private subPaneOverlays;
19
+ private isinPickerModal;
20
+ private isins;
21
+ private siEl;
22
+ private siStreamDot;
23
+ private siSymbolSpan;
24
+ private siOHLCSpan;
25
+ private tickActivityTimer;
26
+ private tickActivityMs;
27
+ private streamStatus;
28
+ private indicatorSettingsDialog;
29
+ private chartSettingsDialog;
30
+ private tradeButton;
31
+ private tradePopover;
32
+ private draftOrderLabel;
33
+ private draftOrderQtyInput;
34
+ private _hoverBuyType;
35
+ private _hoverSellType;
36
+ private _onOrderSubmit;
37
+ private _minLots;
38
+ private scrollToEndBtn;
39
+ private scrollToEndVisible;
40
+ private scrollAnimId;
41
+ private resetViewBtn;
42
+ private dataStore;
43
+ private scaleManager;
44
+ private emitter;
45
+ private theme;
46
+ private themeName;
47
+ private _debug;
48
+ private series;
49
+ private showVolume;
50
+ private symbol;
51
+ private showBidAskLines;
52
+ private showActLogo;
53
+ private timeframe;
54
+ private duration;
55
+ private activeIndicators;
56
+ private get indicators();
57
+ private indicatorResults;
58
+ private viewport;
59
+ private crosshair;
60
+ private drawingManager;
61
+ private textInputEl;
62
+ private textInputDrawing;
63
+ private paneHeightOverrides;
64
+ private separatorDrag;
65
+ private readonly priceAxisWidth;
66
+ private readonly timeAxisHeight;
67
+ private priceScaleFactor;
68
+ private pricePanOffset;
69
+ private _displayedPriceRange;
70
+ private _lockedAutoFitBase;
71
+ private axisDrag;
72
+ private subPaneScaleFactors;
73
+ private _mobileCrosshairActive;
74
+ private _mobileTapStartXY;
75
+ private _isHoveringTradeButton;
76
+ private _tradeButtonClickData;
77
+ private panHandler;
78
+ private zoomHandler;
79
+ private resizeObserver;
80
+ private rafId;
81
+ private countdownRafId;
82
+ private countdownActive;
83
+ private _cachedWrapRect;
84
+ private _cachedDrawRect;
85
+ private _drawTouchAnchorActive;
86
+ private _lastDrawingTouchPoint;
87
+ private _drawTouchStartXY;
88
+ private _mobileDrawingFlyout;
89
+ private _isCssFullscreen;
90
+ private uiConfig;
91
+ private themeOverrides;
92
+ private settingsCanvasColors;
93
+ private aggregateFrom;
94
+ private labels;
95
+ private streamAdapter;
96
+ private liveBidAsk;
97
+ private tickClosePriceSource;
98
+ private levels;
99
+ private tradeLevelHitAreas;
100
+ private tradeLevelEditAreas;
101
+ private tradeHoverAreas;
102
+ private tradeLevelDragAreas;
103
+ private tradeLevelConfirmAreas;
104
+ private tradeAddBracketAreas;
105
+ private hoveredTradeLabel;
106
+ private selectedTradeLabel;
107
+ private tradeCanvas;
108
+ private tradeCtx;
109
+ private tradeDragHandler;
110
+ private tradeDragNewPrice;
111
+ /** bracketOrderLabel stored when a bracket drag starts, for use in the confirm message. */
112
+ private _pendingBracketOrderLabel;
113
+ /** True when the current bracket drag is adding a NEW bracket (via +SL/+TP button). */
114
+ private _isBracketNew;
115
+ private pendingLevelDrags;
116
+ private tradeDisplayFilter;
117
+ private positionRenderStyle;
118
+ private tradesThresholdForHorizontalLine;
119
+ /** Explicit user override from settings dialog. null = no override yet. */
120
+ private positionRenderStyleOverride;
121
+ private readonly RENDER_STYLE_LS_KEY;
122
+ private dataLoader;
123
+ private isFetching;
124
+ private noMoreData;
125
+ private maxCandles;
126
+ private mobileBarDivisor;
127
+ private explicitMobileDivisor;
128
+ private maxSubPanes;
129
+ private showCandleCountdown;
130
+ private candleCountdownTimeframes;
131
+ private loadingOverlayEl;
132
+ private logoImage;
133
+ constructor(config: ChartConfig);
134
+ loadData(bars: OHLCVBar[], fitAll?: boolean): this;
135
+ /** Prepends historical bars before the current dataset without a visual jump. */
136
+ prependData(bars: OHLCVBar[]): this;
137
+ /** Shows or hides the loading overlay. */
138
+ setLoading(loading: boolean): this;
139
+ private timeframeToMs;
140
+ /** Returns the base interval to request from the dataLoader for the current timeframe.
141
+ * Falls back to the current timeframe itself when no mapping is configured. */
142
+ private getBaseInterval;
143
+ /** Returns true when the base interval is finer than the target timeframe,
144
+ * meaning the fetched bars must be aggregated before rendering. */
145
+ private shouldAggregate;
146
+ /** Aggregates bars if shouldAggregate(), otherwise returns them unchanged. */
147
+ private maybeAggregate;
148
+ private timeframeToInterval;
149
+ private durationToMs;
150
+ private triggerLoad;
151
+ private checkNeedMoreData;
152
+ addIndicator(indicator: IIndicator): this;
153
+ removeIndicator(name: string): this;
154
+ addIndicatorByName(shortName: string): void;
155
+ private openIndicatorSettings;
156
+ private updateIndicatorParams;
157
+ on<K extends keyof ChartEventMap>(event: K, listener: (payload: ChartEventMap[K]) => void): () => void;
158
+ private buildTheme;
159
+ setTheme(theme: 'dark' | 'light'): this;
160
+ setSeries(series: SeriesType): this;
161
+ private clearDuration;
162
+ setVolume(show: boolean): this;
163
+ private isRestoringState;
164
+ private emitStateChange;
165
+ /**
166
+ * Returns a full serializable snapshot of the current chart configuration.
167
+ * Includes timeframe, chart type, active indicators (with params), and drawings.
168
+ */
169
+ getState(): ChartState;
170
+ /**
171
+ * Restores chart configuration from a previously captured `ChartState`.
172
+ * Call this after construction to hydrate a chart from persisted state.
173
+ */
174
+ setState(state: ChartState): this;
175
+ /**
176
+ * Resets all chart settings that are captured by `getState()` back to their
177
+ * defaults (candlestick / dark / 1D / 1Y / volume on / no indicators / no drawings)
178
+ * and emits a `stateChange` event so consumers can persist the cleared state.
179
+ */
180
+ resetChartSettings(): this;
181
+ setSymbol(symbol: string): this;
182
+ /**
183
+ * Update the list of symbols available in the ISIN picker modal.
184
+ * Has no effect if the chart was not initialised with `isins` + `onIsinSelect`.
185
+ */
186
+ setIsins(isins: string[]): this;
187
+ private renderSymbolInfoOHLC;
188
+ setMinLots(lots: number): this;
189
+ setDrawingTool(tool: DrawingToolType | null): this;
190
+ undoDrawing(): this;
191
+ redoDrawing(): this;
192
+ hideAllDrawings(): this;
193
+ showAllDrawings(): this;
194
+ lockAllDrawings(): this;
195
+ unlockAllDrawings(): this;
196
+ deleteSelectedDrawing(): this;
197
+ clearAllDrawings(): this;
198
+ getActiveTool(): DrawingToolType | null;
199
+ /** Returns a copy of all current drawings as live IDrawing objects. */
200
+ getDrawings(): IDrawing[];
201
+ connectStream(adapter: IWebSocketAdapter): this;
202
+ disconnectStream(): this;
203
+ /** Push a live bid/ask tick directly — no adapter needed.
204
+ * Pass `T` from your feed as the server timestamp (ISO string or Unix ms)
205
+ * to avoid system clock skew causing premature candle formation. */
206
+ pushTick(prices: {
207
+ B: number;
208
+ A: number;
209
+ T?: string | number;
210
+ }): this;
211
+ /**
212
+ * Replace all levels of a given type and trigger a re-render.
213
+ * Pass an empty array to clear all levels of that type.
214
+ *
215
+ * @param data Array of your domain objects (orders, positions, etc.)
216
+ * @param labelKey Key whose value is shown as the level label
217
+ * @param priceKey Key whose value is the entry/order price
218
+ * @param type `'trade'` → solid line, no PnL; `'position'` → dashed line, optional PnL
219
+ * @param pnlKey (positions only) Key whose numeric value determines PnL badge color
220
+ * @param pnlTextKey (positions only) Key whose pre-formatted string is rendered verbatim in the box
221
+ */
222
+ setLevels<T extends Record<string, unknown>>(data: T[], labelKey: keyof T, priceKey: keyof T, type: TradeLevelType, pnlKey?: keyof T, pnlTextKey?: keyof T): this;
223
+ /**
224
+ * Remove a single level by its label (derived from `labelKey` at `setLevels` time).
225
+ * No-op if no level with that label exists.
226
+ */
227
+ removeLevelByLabel(label: string): this;
228
+ /**
229
+ * Show a draft pending order preview line on the chart.
230
+ * Typically called from an external order panel when the user selects a limit/stop order type.
231
+ * Clears any existing draft first. The draft line is draggable; price changes emit `tradeLevelDrag`.
232
+ * When confirmed from the chart, `onOrderSubmit` is called and `tradeLevelConfirmed` is emitted.
233
+ */
234
+ showDraftOrder(price: number, side: 'buy' | 'sell', orderType: 'limit' | 'stop'): this;
235
+ /**
236
+ * Show a draft market order preview on the chart at the given price.
237
+ * Unlike limit/stop drafts, the main line is informational (not draggable),
238
+ * no qty overlay is shown, and no confirm/cancel buttons appear.
239
+ * SL/TP brackets can still be attached via updateDraftOrderBracket.
240
+ */
241
+ showMarketDraft(price: number, side: 'buy' | 'sell'): this;
242
+ /**
243
+ * Remove the current draft order preview line without emitting any events.
244
+ * Call when the order panel closes or the user switches to market order type.
245
+ */
246
+ clearDraftOrder(): this;
247
+ /**
248
+ * Programmatically set the quantity on the active draft order's qty input.
249
+ * No-op when no draft order is currently shown.
250
+ * Use this to sync an external order panel's qty field to the chart.
251
+ */
252
+ setDraftOrderLots(lots: number): this;
253
+ /**
254
+ * Update the stop-loss or take-profit bracket price on any existing level by label.
255
+ * Pass `null` to remove the bracket. No-op if no level with that label exists.
256
+ * Use this when an external panel changes SL/TP for an open position or pending order.
257
+ */
258
+ updateLevelBracket(label: string, type: 'sl' | 'tp', price: number | null): this;
259
+ /**
260
+ * Move an existing level's entry price line to a new price and re-render.
261
+ * Used when an external panel updates the entry price for an open position or pending order.
262
+ * No-op if no level with that label exists.
263
+ */
264
+ updateLevelMainPrice(label: string, price: number): this;
265
+ /**
266
+ * Update the stop-loss or take-profit price on the current draft order.
267
+ * Pass `null` to remove the bracket. No-op if no draft order is active.
268
+ */
269
+ updateDraftOrderBracket(type: 'sl' | 'tp', price: number | null): this;
270
+ /**
271
+ * Update the entry price of the active draft order in-place without recreating it.
272
+ * Unlike `showDraftOrder`, this does NOT call `clearDraftOrder` + `createDraftOrder`,
273
+ * so the qty overlay is repositioned but never re-focused.
274
+ * Returns `true` if a draft existed and was updated, `false` if no draft is active.
275
+ */
276
+ updateDraftOrderPrice(price: number): boolean;
277
+ /**
278
+ * Cancel the pending edit state of a level without firing `tradeLevelEdit`.
279
+ * Use when the external order panel has already handled the confirmation,
280
+ * preventing the chart from sending a duplicate server request.
281
+ */
282
+ cancelLevelEdit(label: string): this;
283
+ /**
284
+ * Programmatically select (activate) a trade level by its label.
285
+ * Pass `null` to deselect the currently active level.
286
+ * Useful when an external panel (e.g. positions table) opens an edit form
287
+ * and the chart should highlight the corresponding level.
288
+ */
289
+ selectLevel(label: string | null): this;
290
+ destroy(): void;
291
+ private createMobileDrawingFlyout;
292
+ private showMobileDrawingFlyout;
293
+ private hideMobileDrawingFlyout;
294
+ private applyMobileDrawingFlyoutTheme;
295
+ private scheduleRender;
296
+ private startCountdownLoop;
297
+ private stopCountdownLoop;
298
+ private updateCountdownState;
299
+ private openChartSettings;
300
+ /** Returns the element floating UI should be parented to — the fullscreen element when active, otherwise document.body. */
301
+ private getFloatingRoot;
302
+ /**
303
+ * Re-parents all floating elements (flyouts, modals) to the correct root.
304
+ * Called on fullscreenchange so they remain visible inside the fullscreen context.
305
+ */
306
+ private reparentFloatingElements;
307
+ private toggleDrawingTools;
308
+ private _applyCssFullscreen;
309
+ private toggleFullscreen;
310
+ private recomputeRenderStyle;
311
+ private renderTradeLayer;
312
+ /** Returns the effective entry price for a level, preferring any staged main drag. */
313
+ private _effectiveEntryPrice;
314
+ private storePendingChange;
315
+ private createDraftOrder;
316
+ private removeDraftOrder;
317
+ private applyPendingChanges;
318
+ private revertPendingChanges;
319
+ private render;
320
+ private recomputeIndicators;
321
+ private onResize;
322
+ private paneH;
323
+ /** Translate pixel + data space dimensions used for drawing hit-tests */
324
+ private getChartLayout;
325
+ /** Repositions each sub-pane IndicatorOverlay element to sit at the top of its pane */
326
+ private updateSubPaneOverlayPositions;
327
+ /** Y positions (logical px) of each sub-pane top separator, used for drag-resize */
328
+ private getSeparatorPositions;
329
+ private getScaledPriceRange;
330
+ private onMouseMove;
331
+ private onMouseLeave;
332
+ private onMouseUp;
333
+ private touchToDrawingPoint;
334
+ private onDrawingTouchStart;
335
+ private onDrawingTouchMove;
336
+ private onDrawingTouchEnd;
337
+ private onCanvasClick;
338
+ private onDoubleClick;
339
+ private onKeyDown;
340
+ private showTextInput;
341
+ private commitTextInput;
342
+ private cancelTextInput;
343
+ private setDotTickActive;
344
+ private onTick;
345
+ /** Fetch bars that fall in a gap between the last historical bar and the first live bar.
346
+ * This happens when the system clock was behind feed time during the initial data load. */
347
+ private fillTickGap;
348
+ /** Re-fetch the just-closed candle (plus 2 neighbours) via `dataLoader` to replace
349
+ * tick-reconstructed OHLCV with authoritative exchange data. No-op if no loader. */
350
+ private correctCompletedBar;
351
+ /** Enable or disable verbose tick logging to the console for debugging live candle issues. */
352
+ setDebug(enabled: boolean): this;
353
+ /** Replace the bar with the given timestamp with authoritative OHLCV data.
354
+ * Use this when you receive a corrected candle from an external source. */
355
+ correctBar(barTime: number, bar: OHLCVBar): void;
356
+ private scrollToEnd;
357
+ private resetPriceAxis;
358
+ private resetTimeAxis;
359
+ /** Reset both price and time axes to their default state. */
360
+ resetView(): void;
361
+ private applyResetViewBtnStyles;
362
+ private applyScrollToEndBtnStyles;
363
+ }
364
+
365
+ /**
366
+ * Aggregates an array of fine-grained OHLCV bars into a coarser timeframe.
367
+ *
368
+ * Bars are grouped by time bucket: `Math.floor(bar.time / targetIntervalMs) * targetIntervalMs`.
369
+ * Each bucket produces one output bar:
370
+ * - open = first bar's open
371
+ * - high = max of all highs
372
+ * - low = min of all lows
373
+ * - close = last bar's close
374
+ * - volume = sum of all volumes
375
+ *
376
+ * Empty time buckets (weekends, holidays, gaps) are skipped — no phantom bars are created.
377
+ * Partial buckets (e.g. the live/in-progress candle) are included as-is.
378
+ *
379
+ * @param bars Source bars sorted ascending by time.
380
+ * @param targetIntervalMs Target candle duration in milliseconds.
381
+ * @returns Aggregated bars sorted ascending by time.
382
+ */
383
+ declare function aggregateCandles(bars: OHLCVBar[], targetIntervalMs: number): OHLCVBar[];
384
+
385
+ /** Drag handle hit area for the main level line (non-bracket). */
386
+ interface TradeLevelDragArea {
387
+ label: string;
388
+ type: AnyLevel['type'];
389
+ data: unknown;
390
+ /** The price of this level — used to initialize drag state. */
391
+ price: number;
392
+ x: number;
393
+ y: number;
394
+ w: number;
395
+ h: number;
396
+ isBracket: false;
397
+ }
398
+ /** Drag handle hit area for a bracket (SL/TP) line. */
399
+ interface TradeLevelBracketDragArea {
400
+ /** Label of the parent PendingOrderLevel. */
401
+ label: string;
402
+ data: unknown;
403
+ bracketType: 'stopLoss' | 'takeProfit';
404
+ /** The current price of this bracket line. */
405
+ price: number;
406
+ /** Price of the parent order (used for constraint enforcement). */
407
+ parentPrice: number;
408
+ /** Side of the parent order. */
409
+ parentSide: 'buy' | 'sell';
410
+ /**
411
+ * When this bracket originated from a `ToClose` pending order, this holds
412
+ * that order's own label — used in the drag confirmation message.
413
+ * Undefined for inline stopLossPrice / takeProfitPrice fields.
414
+ */
415
+ bracketOrderLabel?: string;
416
+ x: number;
417
+ y: number;
418
+ w: number;
419
+ h: number;
420
+ isBracket: true;
421
+ }
422
+ type AnyDragArea = TradeLevelDragArea | TradeLevelBracketDragArea;
423
+
424
+ declare class DrawingManager {
425
+ private drawings;
426
+ private activeDrawing;
427
+ private selectedDrawing;
428
+ private activeTool;
429
+ private state;
430
+ private history;
431
+ private redoStack;
432
+ private onCompleteCallback;
433
+ /** Called after any completed state-mutating operation (drawing placed, moved, deleted, etc.). */
434
+ onDrawingsChange: (() => void) | null;
435
+ /** Called when a text-type drawing is first completed — ChartEngine shows the text input. */
436
+ onStartTextEdit: ((drawing: IDrawing) => void) | null;
437
+ /** Set to true by ChartEngine while the text input is focused — prevents Delete/Backspace from deleting the drawing. */
438
+ private editingText;
439
+ private dragDrawing;
440
+ private dragStartMouse;
441
+ private dragStartPoints;
442
+ private resizeDrawing;
443
+ private resizePointIndex;
444
+ /** Called by ChartEngine to be notified when a drawing is finished. */
445
+ setOnComplete(cb: () => void): void;
446
+ /** Toggle the text-editing guard so Delete/Backspace are not intercepted. */
447
+ setEditingText(editing: boolean): void;
448
+ setActiveTool(tool: DrawingToolType | null): void;
449
+ getActiveTool(): DrawingToolType | null;
450
+ /** Returns true if the drawing system consumed the event */
451
+ onMouseDown(point: DrawingPoint): boolean;
452
+ onMouseMove(point: DrawingPoint): void;
453
+ /**
454
+ * Finalizes an open-ended drawing (Polyline, Path, Brush, Highlighter)
455
+ * on double-click. Removes the dangling preview point and marks complete.
456
+ */
457
+ finalizePlacing(): void;
458
+ startDrag(drawing: IDrawing, mouse: DrawingPoint): void;
459
+ endDrag(): void;
460
+ isDraggingDrawing(): boolean;
461
+ /** True when a multi-point drawing has been started and is awaiting further touch/click input. */
462
+ isPlacing(): boolean;
463
+ startResize(drawing: IDrawing, pointIndex: number): void;
464
+ endResize(): void;
465
+ isResizingDrawing(): boolean;
466
+ /** Returns the handle under (x,y) across all complete drawings, or null */
467
+ getHandleAtPoint(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): {
468
+ drawing: IDrawing;
469
+ handle: DrawingHandle;
470
+ } | null;
471
+ /** Returns the drawing that was hit, or null */
472
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): IDrawing | null;
473
+ selectDrawing(drawing: IDrawing | null): void;
474
+ getSelectedDrawing(): IDrawing | null;
475
+ onKeyDown(key: string): boolean;
476
+ deleteSelected(): void;
477
+ undo(): void;
478
+ redo(): void;
479
+ hideAll(): void;
480
+ showAll(): void;
481
+ lockAll(): void;
482
+ unlockAll(): void;
483
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, pricePrecision?: number): void;
484
+ getDrawings(): IDrawing[];
485
+ /** Returns a JSON-serializable snapshot of all drawings (data fields only, no methods). */
486
+ getDrawingsSnapshot(): SerializedDrawing[];
487
+ /** Restores drawings from a serialized snapshot, replacing current drawings. */
488
+ loadDrawings(drawings: SerializedDrawing[]): void;
489
+ clearAll(): void;
490
+ private notifyChange;
491
+ private snapshot;
492
+ private cloneDrawings;
493
+ private createDrawing;
494
+ }
495
+
496
+ declare class HorizontalLine implements IDrawing {
497
+ readonly id: string;
498
+ readonly type: "horizontalLine";
499
+ points: DrawingPoint[];
500
+ complete: boolean;
501
+ constructor(point: DrawingPoint);
502
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, _viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean, pricePrecision?: number): void;
503
+ hitTest(_x: number, y: number, scale: ScaleManager, _viewport: Viewport, priceRange: PriceRange$1, _chartW: number, chartH: number): boolean;
504
+ getHandle(): DrawingHandle | null;
505
+ }
506
+
507
+ declare class VerticalLine implements IDrawing {
508
+ readonly id: string;
509
+ readonly type: "verticalLine";
510
+ points: DrawingPoint[];
511
+ complete: boolean;
512
+ constructor(point: DrawingPoint);
513
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, _priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
514
+ hitTest(x: number, _y: number, scale: ScaleManager, viewport: Viewport, _priceRange: PriceRange$1, chartW: number, _chartH: number): boolean;
515
+ getHandle(): DrawingHandle | null;
516
+ }
517
+
518
+ declare class TrendLine implements IDrawing {
519
+ readonly id: string;
520
+ readonly type: "trendLine";
521
+ points: DrawingPoint[];
522
+ complete: boolean;
523
+ constructor(first: DrawingPoint);
524
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
525
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
526
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
527
+ }
528
+
529
+ declare class TrendAngle implements IDrawing {
530
+ readonly id: string;
531
+ readonly type: "trendAngle";
532
+ points: DrawingPoint[];
533
+ complete: boolean;
534
+ constructor(first: DrawingPoint);
535
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
536
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
537
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
538
+ }
539
+
540
+ declare class CrossLine implements IDrawing {
541
+ readonly id: string;
542
+ readonly type: "crossLine";
543
+ points: DrawingPoint[];
544
+ complete: boolean;
545
+ constructor(point: DrawingPoint);
546
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
547
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
548
+ getHandle(): DrawingHandle | null;
549
+ }
550
+
551
+ declare class ParallelChannel implements IDrawing {
552
+ readonly id: string;
553
+ readonly type: "parallelChannel";
554
+ readonly requiredPoints = 3;
555
+ points: DrawingPoint[];
556
+ complete: boolean;
557
+ constructor(first: DrawingPoint);
558
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
559
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
560
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
561
+ }
562
+
563
+ declare class FlatChannel implements IDrawing {
564
+ readonly id: string;
565
+ readonly type: "flatChannel";
566
+ readonly requiredPoints = 3;
567
+ points: DrawingPoint[];
568
+ complete: boolean;
569
+ constructor(first: DrawingPoint);
570
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
571
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
572
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
573
+ }
574
+
575
+ declare class DisjointChannel implements IDrawing {
576
+ readonly id: string;
577
+ readonly type: "disjointChannel";
578
+ readonly requiredPoints = 4;
579
+ points: DrawingPoint[];
580
+ complete: boolean;
581
+ constructor(first: DrawingPoint);
582
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
583
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
584
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
585
+ }
586
+
587
+ declare class FibRetracement implements IDrawing {
588
+ readonly id: string;
589
+ readonly type: "fibRetracement";
590
+ points: DrawingPoint[];
591
+ complete: boolean;
592
+ constructor(first: DrawingPoint);
593
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean, pricePrecision?: number): void;
594
+ hitTest(_x: number, y: number, scale: ScaleManager, _viewport: Viewport, priceRange: PriceRange$1, _chartW: number, chartH: number): boolean;
595
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
596
+ }
597
+
598
+ declare class FibExtension implements IDrawing {
599
+ readonly id: string;
600
+ readonly type: "fibExtension";
601
+ readonly requiredPoints = 3;
602
+ points: DrawingPoint[];
603
+ complete: boolean;
604
+ constructor(first: DrawingPoint);
605
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean, pricePrecision?: number): void;
606
+ hitTest(_x: number, y: number, scale: ScaleManager, _viewport: Viewport, priceRange: PriceRange$1, _chartW: number, chartH: number): boolean;
607
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
608
+ }
609
+
610
+ declare class FibChannel implements IDrawing {
611
+ readonly id: string;
612
+ readonly type: "fibChannel";
613
+ readonly requiredPoints = 3;
614
+ points: DrawingPoint[];
615
+ complete: boolean;
616
+ constructor(first: DrawingPoint);
617
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean, pricePrecision?: number): void;
618
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
619
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
620
+ }
621
+
622
+ declare class FibTimezone implements IDrawing {
623
+ readonly id: string;
624
+ readonly type: "fibTimezone";
625
+ points: DrawingPoint[];
626
+ complete: boolean;
627
+ constructor(first: DrawingPoint);
628
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
629
+ hitTest(x: number, _y: number, scale: ScaleManager, viewport: Viewport, _priceRange: PriceRange$1, chartW: number, _chartH: number): boolean;
630
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
631
+ }
632
+
633
+ declare class FibCircles implements IDrawing {
634
+ readonly id: string;
635
+ readonly type: "fibCircles";
636
+ points: DrawingPoint[];
637
+ complete: boolean;
638
+ constructor(first: DrawingPoint);
639
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
640
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
641
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
642
+ }
643
+
644
+ declare class FibSpiral implements IDrawing {
645
+ readonly id: string;
646
+ readonly type: "fibSpiral";
647
+ points: DrawingPoint[];
648
+ complete: boolean;
649
+ constructor(first: DrawingPoint);
650
+ /** Compute the pivot center and radius for each arc in the spiral */
651
+ private computeArcs;
652
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
653
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
654
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
655
+ }
656
+
657
+ declare class FibFan implements IDrawing {
658
+ readonly id: string;
659
+ readonly type: "fibFan";
660
+ points: DrawingPoint[];
661
+ complete: boolean;
662
+ constructor(first: DrawingPoint);
663
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
664
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
665
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
666
+ }
667
+
668
+ declare class FibProjection implements IDrawing {
669
+ readonly id: string;
670
+ readonly type: "fibProjection";
671
+ readonly requiredPoints = 3;
672
+ points: DrawingPoint[];
673
+ complete: boolean;
674
+ constructor(first: DrawingPoint);
675
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean, pricePrecision?: number): void;
676
+ hitTest(_x: number, y: number, scale: ScaleManager, _viewport: Viewport, priceRange: PriceRange$1, _chartW: number, chartH: number): boolean;
677
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
678
+ }
679
+
680
+ declare class GannFan implements IDrawing {
681
+ readonly id: string;
682
+ readonly type: "gannFan";
683
+ points: DrawingPoint[];
684
+ complete: boolean;
685
+ constructor(first: DrawingPoint);
686
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
687
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
688
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
689
+ }
690
+
691
+ declare class GannSquare implements IDrawing {
692
+ readonly id: string;
693
+ readonly type: "gannSquare";
694
+ points: DrawingPoint[];
695
+ complete: boolean;
696
+ constructor(first: DrawingPoint);
697
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
698
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
699
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
700
+ }
701
+
702
+ declare class GannBox implements IDrawing {
703
+ readonly id: string;
704
+ readonly type: "gannBox";
705
+ points: DrawingPoint[];
706
+ complete: boolean;
707
+ constructor(first: DrawingPoint);
708
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
709
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
710
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
711
+ }
712
+
713
+ declare class Rectangle implements IDrawing {
714
+ readonly id: string;
715
+ readonly type: "rectangle";
716
+ points: DrawingPoint[];
717
+ complete: boolean;
718
+ constructor(first: DrawingPoint);
719
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
720
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
721
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
722
+ }
723
+
724
+ declare class RotatedRectangle implements IDrawing {
725
+ readonly id: string;
726
+ readonly type: "rotatedRectangle";
727
+ readonly requiredPoints = 3;
728
+ points: DrawingPoint[];
729
+ complete: boolean;
730
+ constructor(first: DrawingPoint);
731
+ private getCorners;
732
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
733
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
734
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
735
+ }
736
+
737
+ declare class Ellipse implements IDrawing {
738
+ readonly id: string;
739
+ readonly type: "ellipse";
740
+ points: DrawingPoint[];
741
+ complete: boolean;
742
+ constructor(first: DrawingPoint);
743
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
744
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
745
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
746
+ }
747
+
748
+ declare class Triangle implements IDrawing {
749
+ readonly id: string;
750
+ readonly type: "triangle";
751
+ readonly requiredPoints = 3;
752
+ points: DrawingPoint[];
753
+ complete: boolean;
754
+ constructor(first: DrawingPoint);
755
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
756
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
757
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
758
+ }
759
+
760
+ declare class Circle implements IDrawing {
761
+ readonly id: string;
762
+ readonly type: "circle";
763
+ points: DrawingPoint[];
764
+ complete: boolean;
765
+ constructor(first: DrawingPoint);
766
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
767
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
768
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
769
+ }
770
+
771
+ declare class Arc implements IDrawing {
772
+ readonly id: string;
773
+ readonly type: "arc";
774
+ readonly requiredPoints = 3;
775
+ points: DrawingPoint[];
776
+ complete: boolean;
777
+ constructor(first: DrawingPoint);
778
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
779
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
780
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
781
+ }
782
+
783
+ declare class Polyline implements IDrawing {
784
+ readonly id: string;
785
+ readonly type: "polyline";
786
+ readonly openEnded = true;
787
+ points: DrawingPoint[];
788
+ complete: boolean;
789
+ constructor(first: DrawingPoint);
790
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
791
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
792
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
793
+ }
794
+
795
+ declare class Path implements IDrawing {
796
+ readonly id: string;
797
+ readonly type: "path";
798
+ readonly openEnded = true;
799
+ points: DrawingPoint[];
800
+ complete: boolean;
801
+ constructor(first: DrawingPoint);
802
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
803
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
804
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
805
+ }
806
+
807
+ declare class PriceRange implements IDrawing {
808
+ readonly id: string;
809
+ readonly type: "priceRange";
810
+ points: DrawingPoint[];
811
+ complete: boolean;
812
+ constructor(first: DrawingPoint);
813
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean, pricePrecision?: number): void;
814
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
815
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
816
+ }
817
+
818
+ declare class DateRange implements IDrawing {
819
+ readonly id: string;
820
+ readonly type: "dateRange";
821
+ points: DrawingPoint[];
822
+ complete: boolean;
823
+ constructor(first: DrawingPoint);
824
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
825
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
826
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
827
+ }
828
+
829
+ declare class DatePriceRange implements IDrawing {
830
+ readonly id: string;
831
+ readonly type: "datePriceRange";
832
+ points: DrawingPoint[];
833
+ complete: boolean;
834
+ constructor(first: DrawingPoint);
835
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean, pricePrecision?: number): void;
836
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
837
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
838
+ }
839
+
840
+ declare class Ruler implements IDrawing {
841
+ readonly id: string;
842
+ readonly type: "ruler";
843
+ points: DrawingPoint[];
844
+ complete: boolean;
845
+ constructor(first: DrawingPoint);
846
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean, pricePrecision?: number): void;
847
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
848
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
849
+ }
850
+
851
+ declare class Pitchfork implements IDrawing {
852
+ readonly id: string;
853
+ readonly type: "pitchfork";
854
+ readonly requiredPoints = 3;
855
+ points: DrawingPoint[];
856
+ complete: boolean;
857
+ constructor(first: DrawingPoint);
858
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
859
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
860
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
861
+ }
862
+
863
+ declare class SchiffPitchfork implements IDrawing {
864
+ readonly id: string;
865
+ readonly type: "schiffPitchfork";
866
+ readonly requiredPoints = 3;
867
+ points: DrawingPoint[];
868
+ complete: boolean;
869
+ constructor(first: DrawingPoint);
870
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
871
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
872
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
873
+ }
874
+
875
+ declare class ModifiedSchiff implements IDrawing {
876
+ readonly id: string;
877
+ readonly type: "modifiedSchiff";
878
+ readonly requiredPoints = 3;
879
+ points: DrawingPoint[];
880
+ complete: boolean;
881
+ constructor(first: DrawingPoint);
882
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
883
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
884
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
885
+ }
886
+
887
+ declare class InsidePitchfork implements IDrawing {
888
+ readonly id: string;
889
+ readonly type: "insidePitchfork";
890
+ readonly requiredPoints = 3;
891
+ points: DrawingPoint[];
892
+ complete: boolean;
893
+ constructor(first: DrawingPoint);
894
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
895
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
896
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
897
+ }
898
+
899
+ declare class FixedRangeVP implements IDrawing {
900
+ readonly id: string;
901
+ readonly type: "fixedRangeVP";
902
+ points: DrawingPoint[];
903
+ complete: boolean;
904
+ constructor(first: DrawingPoint);
905
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
906
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
907
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
908
+ }
909
+
910
+ declare class AnchoredVP implements IDrawing {
911
+ readonly id: string;
912
+ readonly type: "anchoredVP";
913
+ points: DrawingPoint[];
914
+ complete: boolean;
915
+ constructor(first: DrawingPoint);
916
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
917
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
918
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
919
+ }
920
+
921
+ declare class VolumeProfile implements IDrawing {
922
+ readonly id: string;
923
+ readonly type: "volumeProfile";
924
+ points: DrawingPoint[];
925
+ complete: boolean;
926
+ constructor(first: DrawingPoint);
927
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
928
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
929
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
930
+ }
931
+
932
+ declare class RegressionTrend implements IDrawing {
933
+ readonly id: string;
934
+ readonly type: "regressionTrend";
935
+ points: DrawingPoint[];
936
+ complete: boolean;
937
+ constructor(first: DrawingPoint);
938
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
939
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
940
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
941
+ }
942
+
943
+ declare class Text implements IDrawing {
944
+ readonly id: string;
945
+ readonly type: "text";
946
+ points: DrawingPoint[];
947
+ complete: boolean;
948
+ text: string;
949
+ constructor(point: DrawingPoint);
950
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
951
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
952
+ getHandle(): DrawingHandle | null;
953
+ }
954
+
955
+ declare class Callout implements IDrawing {
956
+ readonly id: string;
957
+ readonly type: "callout";
958
+ points: DrawingPoint[];
959
+ complete: boolean;
960
+ text: string;
961
+ constructor(first: DrawingPoint);
962
+ private getBoxW;
963
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
964
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
965
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
966
+ }
967
+
968
+ declare class PriceLabel implements IDrawing {
969
+ readonly id: string;
970
+ readonly type: "priceLabel";
971
+ points: DrawingPoint[];
972
+ complete: boolean;
973
+ constructor(point: DrawingPoint);
974
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean, pricePrecision?: number): void;
975
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
976
+ getHandle(): DrawingHandle | null;
977
+ }
978
+
979
+ declare class ArrowMarker implements IDrawing {
980
+ readonly id: string;
981
+ readonly type: "arrowMarker";
982
+ points: DrawingPoint[];
983
+ complete: boolean;
984
+ constructor(first: DrawingPoint);
985
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
986
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
987
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
988
+ }
989
+
990
+ declare class Flag implements IDrawing {
991
+ readonly id: string;
992
+ readonly type: "flag";
993
+ points: DrawingPoint[];
994
+ complete: boolean;
995
+ constructor(point: DrawingPoint);
996
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, _isSelected: boolean): void;
997
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
998
+ getHandle(): DrawingHandle | null;
999
+ }
1000
+
1001
+ declare class PriceNote implements IDrawing {
1002
+ readonly id: string;
1003
+ readonly type: "priceNote";
1004
+ points: DrawingPoint[];
1005
+ complete: boolean;
1006
+ constructor(point: DrawingPoint);
1007
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, _isSelected: boolean, pricePrecision?: number): void;
1008
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1009
+ getHandle(): DrawingHandle | null;
1010
+ }
1011
+
1012
+ declare class AnchoredNote implements IDrawing {
1013
+ readonly id: string;
1014
+ readonly type: "anchoredNote";
1015
+ points: DrawingPoint[];
1016
+ complete: boolean;
1017
+ text: string;
1018
+ constructor(first: DrawingPoint);
1019
+ private getBadgeW;
1020
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1021
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1022
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1023
+ }
1024
+
1025
+ declare class ArrowUp implements IDrawing {
1026
+ readonly id: string;
1027
+ readonly type: "arrowUp";
1028
+ points: DrawingPoint[];
1029
+ complete: boolean;
1030
+ constructor(point: DrawingPoint);
1031
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, _isSelected: boolean): void;
1032
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1033
+ getHandle(): DrawingHandle | null;
1034
+ }
1035
+
1036
+ declare class ArrowDown implements IDrawing {
1037
+ readonly id: string;
1038
+ readonly type: "arrowDown";
1039
+ points: DrawingPoint[];
1040
+ complete: boolean;
1041
+ constructor(point: DrawingPoint);
1042
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, _isSelected: boolean): void;
1043
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1044
+ getHandle(): DrawingHandle | null;
1045
+ }
1046
+
1047
+ declare class HeadShoulders implements IDrawing {
1048
+ readonly id: string;
1049
+ readonly type: "headShoulders";
1050
+ readonly requiredPoints = 5;
1051
+ points: DrawingPoint[];
1052
+ complete: boolean;
1053
+ constructor(first: DrawingPoint);
1054
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1055
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1056
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1057
+ }
1058
+
1059
+ declare class TrianglePattern implements IDrawing {
1060
+ readonly id: string;
1061
+ readonly type: "trianglePattern";
1062
+ readonly requiredPoints = 5;
1063
+ points: DrawingPoint[];
1064
+ complete: boolean;
1065
+ constructor(first: DrawingPoint);
1066
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1067
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1068
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1069
+ }
1070
+
1071
+ declare class ThreeDrives implements IDrawing {
1072
+ readonly id: string;
1073
+ readonly type: "threeDrives";
1074
+ readonly requiredPoints = 7;
1075
+ points: DrawingPoint[];
1076
+ complete: boolean;
1077
+ constructor(first: DrawingPoint);
1078
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1079
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1080
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1081
+ }
1082
+
1083
+ declare class AbcdPattern implements IDrawing {
1084
+ readonly id: string;
1085
+ readonly type: "abcdPattern";
1086
+ readonly requiredPoints = 4;
1087
+ points: DrawingPoint[];
1088
+ complete: boolean;
1089
+ constructor(first: DrawingPoint);
1090
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1091
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1092
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1093
+ }
1094
+
1095
+ declare class CypherPattern implements IDrawing {
1096
+ readonly id: string;
1097
+ readonly type: "cypherPattern";
1098
+ readonly requiredPoints = 5;
1099
+ points: DrawingPoint[];
1100
+ complete: boolean;
1101
+ constructor(first: DrawingPoint);
1102
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1103
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1104
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1105
+ }
1106
+
1107
+ declare class ButterflyPattern implements IDrawing {
1108
+ readonly id: string;
1109
+ readonly type: "butterflyPattern";
1110
+ readonly requiredPoints = 5;
1111
+ points: DrawingPoint[];
1112
+ complete: boolean;
1113
+ constructor(first: DrawingPoint);
1114
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1115
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1116
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1117
+ }
1118
+
1119
+ declare class BatPattern implements IDrawing {
1120
+ readonly id: string;
1121
+ readonly type: "batPattern";
1122
+ readonly requiredPoints = 5;
1123
+ points: DrawingPoint[];
1124
+ complete: boolean;
1125
+ constructor(first: DrawingPoint);
1126
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1127
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1128
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1129
+ }
1130
+
1131
+ declare class GartleyPattern implements IDrawing {
1132
+ readonly id: string;
1133
+ readonly type: "gartleyPattern";
1134
+ readonly requiredPoints = 5;
1135
+ points: DrawingPoint[];
1136
+ complete: boolean;
1137
+ constructor(first: DrawingPoint);
1138
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1139
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1140
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1141
+ }
1142
+
1143
+ declare class CrabPattern implements IDrawing {
1144
+ readonly id: string;
1145
+ readonly type: "crabPattern";
1146
+ readonly requiredPoints = 5;
1147
+ points: DrawingPoint[];
1148
+ complete: boolean;
1149
+ constructor(first: DrawingPoint);
1150
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1151
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1152
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1153
+ }
1154
+
1155
+ declare class SharkPattern implements IDrawing {
1156
+ readonly id: string;
1157
+ readonly type: "sharkPattern";
1158
+ readonly requiredPoints = 5;
1159
+ points: DrawingPoint[];
1160
+ complete: boolean;
1161
+ constructor(first: DrawingPoint);
1162
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1163
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1164
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1165
+ }
1166
+
1167
+ declare class ElliottImpulse implements IDrawing {
1168
+ readonly id: string;
1169
+ readonly type: "elliottImpulse";
1170
+ readonly requiredPoints = 6;
1171
+ points: DrawingPoint[];
1172
+ complete: boolean;
1173
+ constructor(first: DrawingPoint);
1174
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1175
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1176
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1177
+ }
1178
+
1179
+ declare class ElliottCorrective implements IDrawing {
1180
+ readonly id: string;
1181
+ readonly type: "elliottCorrective";
1182
+ readonly requiredPoints = 4;
1183
+ points: DrawingPoint[];
1184
+ complete: boolean;
1185
+ constructor(first: DrawingPoint);
1186
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1187
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1188
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1189
+ }
1190
+
1191
+ declare class ElliottTriangle implements IDrawing {
1192
+ readonly id: string;
1193
+ readonly type: "elliottTriangle";
1194
+ readonly requiredPoints = 6;
1195
+ points: DrawingPoint[];
1196
+ complete: boolean;
1197
+ constructor(first: DrawingPoint);
1198
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1199
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1200
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1201
+ }
1202
+
1203
+ declare class ElliottCombination implements IDrawing {
1204
+ readonly id: string;
1205
+ readonly type: "elliottCombination";
1206
+ readonly requiredPoints = 7;
1207
+ points: DrawingPoint[];
1208
+ complete: boolean;
1209
+ constructor(first: DrawingPoint);
1210
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1211
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1212
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1213
+ }
1214
+
1215
+ declare class ElliottWxy implements IDrawing {
1216
+ readonly id: string;
1217
+ readonly type: "elliottWxy";
1218
+ readonly requiredPoints = 4;
1219
+ points: DrawingPoint[];
1220
+ complete: boolean;
1221
+ constructor(first: DrawingPoint);
1222
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1223
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1224
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1225
+ }
1226
+
1227
+ declare class Brush implements IDrawing {
1228
+ readonly id: string;
1229
+ readonly type: "brush";
1230
+ readonly openEnded = true;
1231
+ points: DrawingPoint[];
1232
+ complete: boolean;
1233
+ constructor(first: DrawingPoint);
1234
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1235
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1236
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1237
+ }
1238
+
1239
+ declare class Highlighter implements IDrawing {
1240
+ readonly id: string;
1241
+ readonly type: "highlighter";
1242
+ readonly openEnded = true;
1243
+ points: DrawingPoint[];
1244
+ complete: boolean;
1245
+ constructor(first: DrawingPoint);
1246
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1247
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1248
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1249
+ }
1250
+
1251
+ declare class SineLine implements IDrawing {
1252
+ readonly id: string;
1253
+ readonly type: "sineLine";
1254
+ points: DrawingPoint[];
1255
+ complete: boolean;
1256
+ constructor(first: DrawingPoint);
1257
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1258
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1259
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1260
+ }
1261
+
1262
+ declare class CyclicLines implements IDrawing {
1263
+ readonly id: string;
1264
+ readonly type: "cyclicLines";
1265
+ points: DrawingPoint[];
1266
+ complete: boolean;
1267
+ constructor(first: DrawingPoint);
1268
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1269
+ hitTest(x: number, _y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1270
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1271
+ }
1272
+
1273
+ declare class TimeCycles implements IDrawing {
1274
+ readonly id: string;
1275
+ readonly type: "timeCycles";
1276
+ points: DrawingPoint[];
1277
+ complete: boolean;
1278
+ constructor(first: DrawingPoint);
1279
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1280
+ hitTest(x: number, _y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1281
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1282
+ }
1283
+
1284
+ declare class Projection implements IDrawing {
1285
+ readonly id: string;
1286
+ readonly type: "projection";
1287
+ points: DrawingPoint[];
1288
+ complete: boolean;
1289
+ constructor(first: DrawingPoint);
1290
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1291
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1292
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1293
+ }
1294
+
1295
+ declare class PriceProjection implements IDrawing {
1296
+ readonly id: string;
1297
+ readonly type: "priceProjection";
1298
+ points: DrawingPoint[];
1299
+ complete: boolean;
1300
+ constructor(first: DrawingPoint);
1301
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean, pricePrecision?: number): void;
1302
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1303
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1304
+ }
1305
+
1306
+ declare class GhostFeed implements IDrawing {
1307
+ readonly id: string;
1308
+ readonly type: "ghostFeed";
1309
+ points: DrawingPoint[];
1310
+ complete: boolean;
1311
+ constructor(first: DrawingPoint);
1312
+ render(ctx: CanvasRenderingContext2D, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number, isSelected: boolean): void;
1313
+ hitTest(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): boolean;
1314
+ getHandle(x: number, y: number, scale: ScaleManager, viewport: Viewport, priceRange: PriceRange$1, chartW: number, chartH: number): DrawingHandle | null;
1315
+ }
1316
+
1317
+ /**
1318
+ * Generic WebSocket adapter.
1319
+ *
1320
+ * Usage:
1321
+ * const adapter = new WebSocketAdapter('wss://feed.example.com/ticks', msg => ({
1322
+ * time: new Date(msg.T).getTime(),
1323
+ * bid: msg.B,
1324
+ * ask: msg.A,
1325
+ * volume: msg.v ?? 0,
1326
+ * }));
1327
+ * chart.connectStream(adapter);
1328
+ */
1329
+ declare class WebSocketAdapter implements IWebSocketAdapter {
1330
+ private readonly url;
1331
+ /** Transform a raw server message into a Tick. Return null to skip. */
1332
+ private readonly transform;
1333
+ private ws;
1334
+ private tickCallbacks;
1335
+ private statusCallbacks;
1336
+ private reconnectTimer;
1337
+ private reconnectDelay;
1338
+ private destroyed;
1339
+ constructor(url: string,
1340
+ /** Transform a raw server message into a Tick. Return null to skip. */
1341
+ transform?: (msg: unknown) => Tick | null);
1342
+ connect(): void;
1343
+ disconnect(): void;
1344
+ onTick(callback: (tick: Tick) => void): void;
1345
+ onStatus(callback: (status: StreamStatus) => void): void;
1346
+ private openSocket;
1347
+ private scheduleReconnect;
1348
+ private emitStatus;
1349
+ }
1350
+
1351
+ export { AbcdPattern, AnchoredNote, AnchoredVP, type AnyDragArea, AnyLevel, Arc, ArrowDown, ArrowMarker, ArrowUp, BatPattern, Brush, ButterflyPattern, Callout, ChartConfig, ChartEngine, ChartEventMap, ChartState, Circle, CrabPattern, CrossLine, CyclicLines, CypherPattern, DatePriceRange, DateRange, DisjointChannel, DrawingHandle, DrawingManager, DrawingPoint, DrawingToolType, ElliottCombination, ElliottCorrective, ElliottImpulse, ElliottTriangle, ElliottWxy, Ellipse, FibChannel, FibCircles, FibExtension, FibFan, FibProjection, FibRetracement, FibSpiral, FibTimezone, FixedRangeVP, Flag, FlatChannel, GannBox, GannFan, GannSquare, GartleyPattern, GhostFeed, HeadShoulders, Highlighter, HorizontalLine, IDrawing, IIndicator, IWebSocketAdapter, InsidePitchfork, ModifiedSchiff, OHLCVBar, ParallelChannel, Path, Pitchfork, Polyline, PriceLabel, PriceNote, PriceProjection, PriceRange, PriceRange$1 as PriceRangeType, Projection, Rectangle, RegressionTrend, RotatedRectangle, Ruler, SchiffPitchfork, SerializedDrawing, SeriesType, SharkPattern, SineLine, StreamStatus, Text, ThreeDrives, Tick, TimeCycles, type TradeLevelBracketDragArea, type TradeLevelDragArea, TradeLevelType, TrendAngle, TrendLine, Triangle, TrianglePattern, VerticalLine, Viewport, VolumeProfile, WebSocketAdapter, aggregateCandles };