import type { DataInsightExtractContext } from '../type';
import { InsightType, type Insight } from '../type';
import type { DataCell } from '../../../types';
export interface RevisedInsightParams {
    insights: Insight[];
    [InsightType.Min]?: Insight[];
    [InsightType.Max]?: Insight[];
    [InsightType.Avg]?: Insight[];
    [InsightType.Outlier]?: Insight[];
    [InsightType.PairOutlier]?: Insight[];
    [InsightType.AbnormalBand]?: Insight[];
    [InsightType.ExtremeValue]?: Insight[];
    [InsightType.TurningPoint]?: Insight[];
    [InsightType.MajorityValue]?: Insight[];
    [InsightType.AbnormalTrend]?: Insight[];
    [InsightType.OverallTrend]?: Insight[];
    [InsightType.Correlation]?: Insight[];
    [InsightType.Volatility]?: Insight[];
}
export declare const mergePointInsight: (insightCtx: RevisedInsightParams, type: InsightType, context: DataInsightExtractContext) => {
    outlier: {
        significant: number;
        name: string;
        type: InsightType;
        data: {
            index: number;
            dataItem: import("../../../types").DataItem;
        }[];
        fieldId?: string;
        seriesName?: DataCell | DataCell[];
        textContent?: {
            content: string;
            plainText: string;
            variables?: Record<string, import("../type").InsightTextContent>;
        };
        value?: string | number;
        info?: {
            [key: string]: any;
        };
    }[];
    pair_outlier: Insight[];
    turning_point: Insight[];
    abnormal_band: Insight[];
    majority_value: Insight[];
    insights: Insight[];
    min?: Insight[];
    max?: Insight[];
    avg?: Insight[];
    extreme_value?: Insight[];
    abnormal_trend?: Insight[];
    overall_trend?: Insight[];
    correlation?: Insight[];
    volatility?: Insight[];
};
export declare const filterCorrelationInsight: (insightCtx: RevisedInsightParams) => {
    correlation: Insight[];
    insights: Insight[];
    min?: Insight[];
    max?: Insight[];
    avg?: Insight[];
    outlier?: Insight[];
    pair_outlier?: Insight[];
    abnormal_band?: Insight[];
    extreme_value?: Insight[];
    turning_point?: Insight[];
    majority_value?: Insight[];
    abnormal_trend?: Insight[];
    overall_trend?: Insight[];
    volatility?: Insight[];
};
export declare const filterInsightByType: (insightCtx: RevisedInsightParams, type: InsightType) => {
    insights: Insight[];
    min?: Insight[];
    max?: Insight[];
    avg?: Insight[];
    outlier?: Insight[];
    pair_outlier?: Insight[];
    abnormal_band?: Insight[];
    extreme_value?: Insight[];
    turning_point?: Insight[];
    majority_value?: Insight[];
    abnormal_trend?: Insight[];
    overall_trend?: Insight[];
    correlation?: Insight[];
    volatility?: Insight[];
};
