import type { SpecInsightCtx, SpecInsightOptions } from '../../types';
import { AtomName } from '../../types/atom';
import { BaseAtom } from '../base';
import { InsightType } from '../dataInsight/type';
import type { DataItem } from '../../types';
export declare class SpecInsightAtom extends BaseAtom<SpecInsightCtx, SpecInsightOptions> {
    name: AtomName;
    isLLMAtom: boolean;
    constructor(context: SpecInsightCtx, option: SpecInsightOptions);
    buildDefaultContext(context: SpecInsightCtx): SpecInsightCtx;
    buildDefaultOptions(): SpecInsightOptions;
    shouldRunByContextUpdate(context: SpecInsightCtx): boolean;
    protected generateMarkPoint(spec: any, datum: DataItem, options: {
        direction: string;
        text: string;
        info: any;
    }): void;
    protected formatterValue(value: string | number): string;
    protected getMarkPointText(type: InsightType, value: string): string;
    protected getAvgMarkLine(spec: any, value: number, options: {
        position: 'x' | 'y';
        text: string;
        info: any;
    }): void;
    protected getGrowthMarkLine(spec: any, options: {
        coordinates: DataItem[];
        text: string;
        isTransposed: boolean;
    }): void;
    protected runBeforeLLM(): SpecInsightCtx;
}
export declare const registerSpecInsightAtom: () => void;
