import { EventEmitter } from '../EventEmitter'; import { ChartEventMap } from '../../types'; export type AlertDirection = "above" | "below" | "cross"; export interface PriceAlertOptions { id?: string; price: number; direction: AlertDirection; seriesId?: string; /** Fire once then remove (default true) */ once?: boolean; } export interface AlertEvent { id: string; price: number; direction: AlertDirection; seriesId?: string; triggeredAt: number; triggerPrice: number; } export interface AlertableSeries { getId(): string; getData(): { x: Float32Array | Float64Array; y?: Float32Array | Float64Array; close?: Float32Array | Float64Array; }; } export declare class ChartAlertManager { private events; private getSeries; private alerts; private idCounter; constructor(events: EventEmitter, getSeries: (id?: string) => AlertableSeries | undefined); addAlert(options: PriceAlertOptions): string; removeAlert(id: string): boolean; clearAlerts(): void; getAlerts(): PriceAlertOptions[]; /** Call after data updates / render tick. */ evaluate(): void; destroy(): void; }