/**
 * Technical Analysis utilities for stock data
 */
import { StockDataPoint } from './csv-parser';
export interface TechnicalIndicators {
    sma?: Record<number, number[]>;
    ema?: Record<number, number[]>;
    rsi?: number[];
    macd?: {
        macd: number[];
        signal: number[];
        histogram: number[];
    };
    bollinger?: {
        upper: number[];
        middle: number[];
        lower: number[];
    };
    support?: number;
    resistance?: number;
    volatility?: number;
}
export interface StockAnalysis {
    ticker: string;
    period: string;
    dataPoints: number;
    priceAnalysis: {
        currentPrice: number;
        priceChange: number;
        priceChangePercent: number;
        high52Week: number;
        low52Week: number;
        averageVolume: number;
    };
    technicalIndicators: TechnicalIndicators;
    summary: {
        trend: 'bullish' | 'bearish' | 'neutral';
        strength: 'strong' | 'moderate' | 'weak';
        recommendation: 'buy' | 'sell' | 'hold';
        confidence: number;
    };
}
export declare class TechnicalAnalysis {
    /**
     * Calculate Simple Moving Average
     */
    static calculateSMA(data: StockDataPoint[], period: number): number[];
    /**
     * Calculate Exponential Moving Average
     */
    static calculateEMA(data: StockDataPoint[], period: number): number[];
    /**
     * Calculate Relative Strength Index
     */
    static calculateRSI(data: StockDataPoint[], period?: number): number[];
    /**
     * Calculate MACD (Moving Average Convergence Divergence)
     */
    static calculateMACD(data: StockDataPoint[], fastPeriod?: number, slowPeriod?: number, signalPeriod?: number): {
        macd: number[];
        signal: number[];
        histogram: number[];
    };
    /**
     * Calculate Bollinger Bands
     */
    static calculateBollingerBands(data: StockDataPoint[], period?: number, stdDev?: number): {
        upper: number[];
        middle: number[];
        lower: number[];
    };
    /**
     * Calculate support and resistance levels
     */
    static calculateSupportResistance(data: StockDataPoint[]): {
        support: number;
        resistance: number;
    };
    /**
     * Calculate volatility (annualized)
     */
    static calculateVolatility(data: StockDataPoint[], period?: number): number;
    /**
     * Perform comprehensive stock analysis
     */
    static analyzeStock(data: StockDataPoint[], ticker: string, period: string): StockAnalysis;
    /**
     * Generate trading summary and recommendation
     */
    private static generateSummary;
    /**
     * Helper function to calculate EMA from array of values
     */
    private static calculateEMAFromValues;
}
//# sourceMappingURL=technical-analysis.d.ts.map