/// <reference types="react" />
import React, { ReactNode } from 'react';
export { default as ReactFromModule } from 'react';
import { EChartsOption } from 'echarts';
import { SWRConfiguration } from 'swr';

declare function Test({}: {}): JSX.Element;

interface ColumnMeta {
    name: string;
    type: string;
}
interface Statistics {
    elapsed: number;
    rows_read: number;
    bytes_read: number;
}
type DataEntry = {
    [key: string]: any;
};
interface JsonResponse {
    meta: ColumnMeta[];
    data: DataEntry[];
    rows: number;
    statistics: Statistics;
}

type QueryConfig$1 = {
    endpoint?: string;
    token?: string;
    refreshInterval?: SWRConfiguration['refreshInterval'];
    fetcher?: SWRConfiguration['fetcher'];
    onError?: SWRConfiguration['onError'];
    onSuccess?: SWRConfiguration['onSuccess'];
};
interface QueryState$1 {
    data?: JsonResponse;
    loading: boolean;
    error?: string;
}
type StylesProps$1 = {
    backgroundColor?: string;
    borderColor?: string;
    borderRadius?: number | string;
    boxShadow?: string;
    colorPalette?: string[];
    fontFamily?: string;
    fontSize?: number | string;
    padding?: number | string;
    textColor?: string;
};
type ChartConfigProps$1 = StylesProps$1 & {
    title?: string;
    description?: string;
    showLegend?: boolean;
    options?: EChartsOption;
};
type BaseProps$1 = {
    height?: number | string;
    width?: number | string;
};
type ChartProps$1 = ChartConfigProps$1 & BaseProps$1 & QueryConfig$1 & QueryState$1 & {
    categories: string[];
    xAxisValue?: string;
    isStacked?: boolean;
    groupBy?: string;
};
type FallbackProps$1 = {
    fallbackLoading?: JSX.Element;
    fallbackError?: ({ error }: {
        error: string;
    }) => JSX.Element;
};

type ChartProviderProps = {
    children: ReactNode;
    styles?: Partial<StylesProps$1>;
    queryConfig?: Partial<QueryConfig$1>;
    fallbacks?: Partial<{
        loading: FallbackProps$1['fallbackLoading'];
        error: FallbackProps$1['fallbackError'];
    }>;
};
declare function ChartProvider({ children, styles, queryConfig, fallbacks, }: ChartProviderProps): JSX.Element;

declare const _default$2: React.MemoExoticComponent<(props: ChartProps$1) => JSX.Element>;

declare const _default$1: React.MemoExoticComponent<(props: ChartProps$1) => JSX.Element>;

declare const _default: React.MemoExoticComponent<(props: ChartProps$1) => JSX.Element>;

declare const baseTextColor: string;
declare const baseBorderColor: string;
declare const baseBorderRadius = "4px";
declare const baseBackgroundColor: string;
declare const baseFontFamily = "Inter, sans-serif";
declare const baseFontSize = "12px";
declare const basePadding = "16px";
declare const baseBoxShadow = "0px 4px 8px rgba(0, 0, 0, 0.1)";

type QueryConfig = {
    endpoint?: string;
    token?: string;
    refreshInterval?: SWRConfiguration['refreshInterval'];
    fetcher?: SWRConfiguration['fetcher'];
    onError?: SWRConfiguration['onError'];
    onSuccess?: SWRConfiguration['onSuccess'];
};
interface QueryState {
    data?: JsonResponse;
    loading: boolean;
    error?: string;
}
type StylesProps = {
    backgroundColor?: string;
    borderColor?: string;
    borderRadius?: number | string;
    boxShadow?: string;
    colorPalette?: string[];
    fontFamily?: string;
    fontSize?: number | string;
    padding?: number | string;
    textColor?: string;
};
type ChartConfigProps = StylesProps & {
    title?: string;
    description?: string;
    showLegend?: boolean;
    options?: EChartsOption;
};
type BaseProps = {
    height?: number | string;
    width?: number | string;
};
type ChartProps = ChartConfigProps & BaseProps & QueryConfig & QueryState & {
    categories: string[];
    xAxisValue?: string;
    isStacked?: boolean;
    groupBy?: string;
};
type FallbackProps = {
    fallbackLoading?: JSX.Element;
    fallbackError?: ({ error }: {
        error: string;
    }) => JSX.Element;
};

export { _default$2 as BarChart, type BaseProps, type ChartConfigProps, type ChartProps, ChartProvider, type FallbackProps, _default$1 as LineChart, _default as PieChart, type QueryConfig, type QueryState, type StylesProps, Test, baseBackgroundColor, baseBorderColor, baseBorderRadius, baseBoxShadow, baseFontFamily, baseFontSize, basePadding, baseTextColor };
