import type { ExtractPropTypes, VNode } from 'vue';
import type Heatmap from './heatmap.vue';
import type { TooltipProps } from '../../tooltip/src/tooltip';
export interface HeatmapDataItem {
    timestamp: number;
    value?: number | null;
}
export type HeatmapData = HeatmapDataItem[];
export interface HeatmapTooltipSlotProps extends HeatmapDataItem {
}
export interface HeatmapTooltipOptions extends Partial<TooltipProps> {
    show?: boolean;
}
export interface HeatmapSlots {
    footer?: () => VNode[];
    indicator?: () => VNode[];
    'indicator-leading-text'?: () => VNode[];
    'indicator-trailing-text'?: () => VNode[];
    tooltip?: (props: HeatmapTooltipSlotProps) => VNode[];
}
export type HeatmapIndicatorVerticalPosition = 'top' | 'bottom';
export type HeatmapIndicatorHorizontalAlign = 'left' | 'center' | 'right';
export declare const heatmapColorThemes: {
    readonly green: readonly ["#9be9a8", "#40c463", "#30a14e", "#216e39"];
    readonly blue: readonly ["#b6e3ff", "#66b7ff", "#2f7ef7", "#1d4ed8"];
    readonly orange: readonly ["#fed7aa", "#fb923c", "#ea580c", "#c2410c"];
    readonly purple: readonly ["#e9d5ff", "#c084fc", "#9333ea", "#7c3aed"];
    readonly red: readonly ["#fecaca", "#f87171", "#dc2626", "#b91c1c"];
};
export type HeatmapColorTheme = keyof typeof heatmapColorThemes;
export declare const heatmapProps: {
    readonly activeColors: {
        readonly type: import("vue").PropType<string[]>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly colorTheme: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<"blue" | "green" | "orange" | "purple" | "red">, unknown, unknown, "green", boolean>;
    readonly data: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<HeatmapData>, unknown, unknown, () => any[], boolean>;
    readonly loading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly loadingData: {
        readonly type: import("vue").PropType<HeatmapData>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly minimumColor: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
    readonly fillCalendarLeading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly firstDayOfWeek: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, 0 | 1 | 3 | 2 | 4 | 5 | 6, unknown, 0, boolean>;
    readonly showColorIndicator: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    readonly indicatorVerticalPosition: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<HeatmapIndicatorVerticalPosition>, unknown, unknown, "bottom", boolean>;
    readonly indicatorHorizontalAlign: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<HeatmapIndicatorHorizontalAlign>, unknown, unknown, "right", boolean>;
    readonly showMonthLabels: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    readonly showWeekLabels: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    readonly size: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<"small" | "large" | "medium">, unknown, unknown, "medium", boolean>;
    readonly tooltip: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<HeatmapTooltipOptions>, unknown, unknown, () => {
        show: boolean;
        placement: string;
        arrow: boolean;
        bgColor: any;
        textColor: any;
        isWhiteBg: boolean;
        maxWidth: string;
        tipEllipsis: boolean;
        tipEllipsisLine: number;
        overlayClassName: string;
        overlayStyle: {};
        ellipsis: boolean;
        width: string;
        containerStyle: {};
        showContainer: boolean;
    }, boolean>;
    readonly unit: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
    readonly xGap: {
        readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<import("vue").PropType<string | number>, unknown, unknown>>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly yGap: {
        readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<import("vue").PropType<string | number>, unknown, unknown>>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
};
export type HeatmapProps = ExtractPropTypes<typeof heatmapProps>;
export declare const heatmapMockData: (year?: 'recent' | number) => HeatmapData;
export type HeatmapInstance = InstanceType<typeof Heatmap>;
