import { Ref } from 'vue'; import { UseVirtualListItem } from '@vueuse/core'; import { IconTypes } from '../icon/v4/Icon.types'; import { ChartDataset, ChartTypeRegistry, TooltipItem } from 'chart.js'; export declare enum ChartType { Line = "line", Bar = "bar", StackedLine = "stackedLine", StackedBar = "stackedBar" } export declare enum DateInterval { DAILY = "daily", WEEKLY = "weekly", MONTHLY = "monthly" } export type ChartDataRecord = Record; export type ChartDataSet = { id: string | number; label: string; data: ChartDataRecord[]; caption?: string; color?: HexColor; icon?: string; iconType?: IconTypes; countryFlag?: string; image?: string; isTotal?: boolean; }; export type ChartParsingConfig = { xAxisKey: string; yAxisKey: string; }; export type ValueFormat = 'date' | 'dateLong' | 'number' | 'percent' | 'string' | 'day'; export type LegendItem = { id: string | number; label: string; caption?: string; color?: string; icon?: string; iconType?: IconTypes; }; export interface MyTooltipItem extends TooltipItem { dataset: ChartDataSet & TooltipItem['dataset']; } export type UseVirtualListResult = { list: Ref[]>; containerProps: { ref: Ref; onScroll: () => void; }; wrapperProps: Ref<{ style: { width: string; height: string; marginTop: string; }; }>; }; export type DropdownTypeOption = { id: ChartType; name: string; }; export type UseChartHeightArgs = { chartPlanesCount: Ref; useFullHeight: boolean; bottomSpacing?: number; }; export type HexColor = `#${string}`; export type DataSetConfig = ChartDataset<'line'> & ChartDataSet; export interface Font { size: number; weight: number; family: string; } export type PrepareTicksLabelArgs = { label: string; format: ValueFormat; availableSpace: number; truncate?: boolean; }; export declare enum TooltipOrder { Legend = "legend", YAxis = "yAxis" } export declare enum TrendDirection { UP = "up", DOWN = "down", NEUTRAL = "neutral" } export type ColorVariant = 'default' | 'mediation';