import { ChangeSymbolType } from "simpul/dist/math";
export type DataPoint = Record<string, number | string | Date> & {
    datetime: number | string | Date;
    open: number;
    high: number;
    low: number;
    close: number;
    volume: number;
};
export interface Option {
    basePrice?: number;
    datetime?: string;
    open?: string;
    high?: string;
    low?: string;
    close?: string;
    volume?: string;
    volumeFill?: boolean;
    date?: boolean;
    time?: boolean;
    price?: boolean;
    leverage?: number | null;
    limit?: boolean;
    obv?: boolean;
    vwap?: boolean;
    rsi?: boolean | number;
    ema?: boolean;
    macd?: boolean;
    color?: boolean;
    periods?: number[];
    sma?: boolean;
    smaStats?: ("variance" | "standarddeviation" | "zscore" | "trendSlope")[] | boolean;
    candlestick?: boolean;
    trend?: boolean;
    crossover?: boolean;
    valueCap?: number;
    anchor?: number[];
    normalize?: string[];
    signalize?: boolean;
}
export interface Candle {
    dateString?: string;
    dateObject?: Date;
    dateYear?: number;
    dateQuarter?: number;
    dateMonth?: number;
    dateMonthName?: string;
    dateDate?: number;
    dateWeekday?: number;
    dateWeekdayName?: string;
    timeHour?: number;
    timeHourQuarter?: number;
    timeMinute?: number;
    timeSpan?: number;
    timeTillNext?: number;
    timeTillNextProgress?: number;
    timeIsPremarket?: boolean;
    timeIsIntraday?: boolean;
    timeIsPostmarket?: boolean;
    timeIsDark?: boolean;
    priceOpen?: number;
    priceHigh?: number;
    priceLow?: number;
    priceClose?: number;
    priceClose2?: number;
    priceMean?: number;
    priceChange?: number;
    priceChangePremarket?: number;
    priceChangeIntraday?: number;
    priceChangeCumulative?: number;
    priceRange?: number;
    priceRangeDiff?: number;
    priceRangeMean?: number;
    priceLimit?: (limit: number, threshold?: number) => {
        priceLimit: number;
        isHit: boolean;
    } | void;
    volume?: number;
    volumeFilled?: boolean;
    volumeEstimate?: number;
    volumeDiff?: number;
    obv?: number;
    vwap?: number;
    vwapSignal?: number;
    vwapValue?: number;
    volumeTotal?: number;
    volumeValue?: number;
    averageGain?: number;
    averageLoss?: number;
    rsi?: number;
    ema9?: number;
    ema12?: number;
    ema26?: number;
    ema9macd?: number;
    macd?: number;
    macdSignal?: number;
    macdHist?: number;
    color?: "green" | "red" | "gray";
    colorsGreen?: number;
    colorsRed?: number;
    colorsGray?: number;
    colorVolumeGreen?: number;
    colorVolumeRed?: number;
    colorVolumeGray?: number;
    colorVolumeDiscrepancy?: number;
    candlestickBody?: number;
    candlestickUpper?: number;
    candlestickLower?: number;
    candlestickUpperGap?: number;
    candlestickLowerGap?: number;
    candlestickIsBullish?: boolean;
    candlestickIsBearish?: boolean;
    candlestickIsNeutral?: boolean;
    candlestickIsBullishPrev1?: boolean;
    candlestickIsBullishPrev2?: boolean;
    candlestickIsEngulfed?: boolean;
    candlestickIsGapUp?: boolean;
    candlestickIsGapDown?: boolean;
    candlestickIsUpper0?: boolean;
    candlestickIsBody0?: boolean;
    candlestickIsLower0?: boolean;
    candlestickIsUpperGap0?: boolean;
    candlestickIsLowerGap0?: boolean;
    candlestickIsUpper1?: boolean;
    candlestickIsBody1?: boolean;
    candlestickIsLower1?: boolean;
    candlestickIsUpperGap1?: boolean;
    candlestickIsLowerGap1?: boolean;
    candlestickIsUpperGreaterThanBody1?: boolean;
    candlestickIsUpperGreaterThanBody2?: boolean;
    candlestickIsUpperGreaterThanBody3?: boolean;
    candlestickIsUpperSmallerThanBody1?: boolean;
    candlestickIsUpperSmallerThanBody2?: boolean;
    candlestickIsUpperSmallerThanBody3?: boolean;
    candlestickIsLowerGreaterThanBody1?: boolean;
    candlestickIsLowerGreaterThanBody2?: boolean;
    candlestickIsLowerGreaterThanBody3?: boolean;
    candlestickIsLowerSmallerThanBody1?: boolean;
    candlestickIsLowerSmallerThanBody2?: boolean;
    candlestickIsLowerSmallerThanBody3?: boolean;
    candlestickIsUpperGapGreaterThanLowerGap1?: boolean;
    candlestickIsUpperGapGreaterThanLowerGap2?: boolean;
    candlestickIsUpperGapGreaterThanLowerGap3?: boolean;
    candlestickIsLowerGapGreaterThanUpperGap1?: boolean;
    candlestickIsLowerGapGreaterThanUpperGap2?: boolean;
    candlestickIsLowerGapGreaterThanUpperGap3?: boolean;
    valueCap?: number;
    signalA?: number;
    signalAN?: number;
    signalAChange?: number;
    signalATrend?: ChangeSymbolType[] | [];
    signalB?: number;
    signalBN?: number;
    signalBChange?: number;
    signalBTrend?: ChangeSymbolType[] | [];
    signalC?: number;
    signalCN?: number;
    signalCChange?: number;
    signalCTrend?: ChangeSymbolType[] | [];
    signalD?: number;
    signalDN?: number;
    signalDChange?: number;
    signalDTrend?: ChangeSymbolType[] | [];
    [key: string]: any;
}
