import type { EChartsType } from 'echarts';
import type { Ref } from 'vue';
export type EChartsModule = typeof import('echarts');
export interface IChartHook {
    setOptions: (options: Record<string, unknown>, clear?: boolean) => void;
    echarts: EChartsModule;
    getInstance: () => EChartsType | null;
    container: Ref<HTMLElement | undefined>;
    assemble: (value: Record<string, unknown>, options: Record<string, unknown>) => Record<string, unknown>;
    createOptions: (data: Record<string, unknown>) => Record<string, unknown> | null;
}
export interface IChartHookExtended extends IChartHook {
    transform?: (data: Record<string, unknown>) => Record<string, unknown> | void;
    toggleTable?: (visible?: boolean) => void;
    toggleStatistic?: (visible?: boolean) => void;
    tooltip?: (...args: any[]) => string;
    renderMarkPoint?: (...args: any[]) => any;
}
export interface IChartOverride {
    I?: (value: Record<string, unknown>, optioned: Record<string, unknown>, ...args: unknown[]) => unknown[];
    M?: (value: Record<string, unknown>, optioned: Record<string, unknown>) => unknown[];
    S?: (dimension: Record<string, unknown>, index: number, optioned: Record<string, unknown>) => Record<string, unknown> | undefined;
    C?: Record<string, unknown>;
}
export interface IConvert {
    createOptions: (data: Record<string, unknown>) => Record<string, unknown> | null;
    transform: (data: Record<string, unknown>) => Record<string, unknown> | void;
}
