/// <reference types="react" />
import React$1 from 'react';
import { enUS } from 'date-fns/locale';

type ValueFormatter = {
    (value: number): string;
};
type CurveType = "linear" | "natural" | "step";
declare const iconVariantValues: readonly ["simple", "light", "shadow", "solid", "outlined"];
type IconVariant = (typeof iconVariantValues)[number];
type HorizontalPosition = "left" | "right";
type VerticalPosition = "top" | "bottom";
type ButtonVariant = "primary" | "secondary" | "light";
declare const deltaTypeValues: readonly ["increase", "moderateIncrease", "decrease", "moderateDecrease", "unchanged"];
type DeltaType = (typeof deltaTypeValues)[number];
declare const sizeValues: readonly ["xs", "sm", "md", "lg", "xl"];
type Size = (typeof sizeValues)[number];
declare const colorValues: readonly ["slate", "gray", "zinc", "neutral", "stone", "red", "orange", "amber", "yellow", "lime", "green", "emerald", "teal", "cyan", "sky", "blue", "indigo", "violet", "purple", "fuchsia", "pink", "rose"];
type Color = (typeof colorValues)[number];
declare const justifyContentValues: readonly ["start", "end", "center", "between", "around", "evenly"];
type JustifyContent = (typeof justifyContentValues)[number];
declare const alignItemsValues: readonly ["start", "end", "center", "baseline", "stretch"];
type AlignItems = (typeof alignItemsValues)[number];
type FlexDirection = "row" | "col" | "row-reverse" | "col-reverse";

interface BaseAnimationTimingProps extends React.HTMLAttributes<HTMLDivElement> {
    animationDuration?: number;
    showAnimation?: boolean;
}

interface BaseChartProps extends BaseAnimationTimingProps {
    data: any[];
    categories: string[];
    index: string;
    colors?: Color[];
    valueFormatter?: ValueFormatter;
    startEndOnly?: boolean;
    showXAxis?: boolean;
    showYAxis?: boolean;
    yAxisWidth?: number;
    showTooltip?: boolean;
    showGradient?: boolean;
    showLegend?: boolean;
    showGridLines?: boolean;
    autoMinValue?: boolean;
    minValue?: number;
    maxValue?: number;
    allowDecimals?: boolean;
    noDataText?: string;
}

interface AreaChartProps extends BaseChartProps {
    stack?: boolean;
    curveType?: CurveType;
    connectNulls?: boolean;
}
declare const AreaChart: React$1.ForwardRefExoticComponent<AreaChartProps & React$1.RefAttributes<HTMLDivElement>>;

interface BarChartProps extends BaseChartProps {
    layout?: "vertical" | "horizontal";
    stack?: boolean;
    relative?: boolean;
}
declare const BarChart: React$1.ForwardRefExoticComponent<BarChartProps & React$1.RefAttributes<HTMLDivElement>>;

interface LineChartProps extends BaseChartProps {
    curveType?: CurveType;
    connectNulls?: boolean;
}
declare const LineChart: React$1.ForwardRefExoticComponent<LineChartProps & React$1.RefAttributes<HTMLDivElement>>;

type DonutChartVariant = "donut" | "pie";
interface DonutChartProps extends BaseAnimationTimingProps {
    data: any[];
    category?: string;
    index?: string;
    colors?: Color[];
    variant?: DonutChartVariant;
    valueFormatter?: ValueFormatter;
    label?: string;
    showLabel?: boolean;
    showAnimation?: boolean;
    showTooltip?: boolean;
    noDataText?: string;
}
declare const DonutChart: React$1.ForwardRefExoticComponent<DonutChartProps & React$1.RefAttributes<HTMLDivElement>>;

interface BadgeProps extends React$1.HTMLAttributes<HTMLSpanElement> {
    color?: Color;
    size?: Size;
    icon?: React$1.ElementType;
    tooltip?: string;
}
declare const Badge: React$1.ForwardRefExoticComponent<BadgeProps & React$1.RefAttributes<HTMLSpanElement>>;

interface BadgeDeltaProps extends React$1.HTMLAttributes<HTMLSpanElement> {
    deltaType?: DeltaType;
    isIncreasePositive?: boolean;
    size?: Size;
}
declare const BadgeDelta: React$1.ForwardRefExoticComponent<BadgeDeltaProps & React$1.RefAttributes<HTMLSpanElement>>;

interface IconProps extends React$1.HTMLAttributes<HTMLSpanElement> {
    icon: React$1.ElementType;
    variant?: IconVariant;
    tooltip?: string;
    size?: Size;
    color?: Color;
}
declare const Icon: React$1.ForwardRefExoticComponent<IconProps & React$1.RefAttributes<HTMLSpanElement>>;

interface AccordionProps extends React$1.HTMLAttributes<HTMLDivElement> {
    expanded?: boolean;
    children: React$1.ReactElement[] | React$1.ReactElement;
}
declare const Accordion: React$1.ForwardRefExoticComponent<AccordionProps & React$1.RefAttributes<HTMLDivElement>>;

interface AccordionBodyProps extends React$1.HTMLAttributes<HTMLDivElement> {
    children: React$1.ReactNode;
}
declare const AccordionBody: React$1.ForwardRefExoticComponent<AccordionBodyProps & React$1.RefAttributes<HTMLDivElement>>;

interface AccordionHeaderProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
    children: React$1.ReactNode;
}
declare const AccordionHeader: React$1.ForwardRefExoticComponent<AccordionHeaderProps & React$1.RefAttributes<HTMLButtonElement>>;

interface AccordionListProps extends React$1.HTMLAttributes<HTMLDivElement> {
    children: React$1.ReactElement[] | React$1.ReactElement;
}
declare const AccordionList: React$1.ForwardRefExoticComponent<AccordionListProps & React$1.RefAttributes<HTMLDivElement>>;

interface ColProps extends React$1.HTMLAttributes<HTMLDivElement> {
    numColSpan?: number;
    numColSpanSm?: number;
    numColSpanMd?: number;
    numColSpanLg?: number;
}
declare const Col: React$1.ForwardRefExoticComponent<ColProps & React$1.RefAttributes<HTMLDivElement>>;

interface GridProps extends React$1.HTMLAttributes<HTMLDivElement> {
    numCols?: number;
    numColsSm?: number;
    numColsMd?: number;
    numColsLg?: number;
    children: React$1.ReactNode;
}
declare const Grid: React$1.ForwardRefExoticComponent<GridProps & React$1.RefAttributes<HTMLDivElement>>;

interface CardProps extends React$1.HTMLAttributes<HTMLDivElement> {
    decoration?: HorizontalPosition | VerticalPosition | "";
    decorationColor?: Color;
}
declare const Card: React$1.ForwardRefExoticComponent<CardProps & React$1.RefAttributes<HTMLDivElement>>;

declare const Divider: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;

interface FlexProps extends React$1.HTMLAttributes<HTMLDivElement> {
    flexDirection?: FlexDirection;
    justifyContent?: JustifyContent;
    alignItems?: AlignItems;
    children: React$1.ReactNode;
}
declare const Flex: React$1.ForwardRefExoticComponent<FlexProps & React$1.RefAttributes<HTMLDivElement>>;

declare const List: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLUListElement> & React$1.RefAttributes<HTMLUListElement>>;

declare const ListItem: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLLIElement> & React$1.RefAttributes<HTMLLIElement>>;

declare const Table: React$1.ForwardRefExoticComponent<React$1.TableHTMLAttributes<HTMLTableElement> & React$1.RefAttributes<HTMLTableElement>>;

declare const TableBody: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableSectionElement> & React$1.RefAttributes<HTMLTableSectionElement>>;

declare const TableCell: React$1.ForwardRefExoticComponent<React$1.TdHTMLAttributes<HTMLTableCellElement> & React$1.RefAttributes<HTMLTableCellElement>>;

declare const TableHead: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableSectionElement> & React$1.RefAttributes<HTMLTableSectionElement>>;

declare const TableHeaderCell: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableCellElement> & React$1.RefAttributes<HTMLTableCellElement>>;

declare const TableRow: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableRowElement> & React$1.RefAttributes<HTMLTableRowElement>>;

interface DropdownProps extends React$1.HTMLAttributes<HTMLDivElement> {
    value?: string;
    defaultValue?: string;
    onValueChange?: (value: string) => void;
    placeholder?: string;
    disabled?: boolean;
    icon?: React$1.JSXElementConstructor<any>;
    children: React$1.ReactElement[] | React$1.ReactElement;
}
declare const Dropdown: React$1.ForwardRefExoticComponent<DropdownProps & React$1.RefAttributes<HTMLDivElement>>;

interface DropdownItemProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
    value: string;
    text?: string;
    icon?: React$1.ElementType;
}
declare const DropdownItem: React$1.ForwardRefExoticComponent<DropdownItemProps & React$1.RefAttributes<HTMLButtonElement>>;

interface MultiSelectBoxProps extends React$1.HTMLAttributes<HTMLDivElement> {
    defaultValue?: string[];
    value?: string[];
    onValueChange?: (value: string[]) => void;
    placeholder?: string;
    disabled?: boolean;
    icon?: React$1.ElementType | React$1.JSXElementConstructor<any>;
    children: React$1.ReactElement[] | React$1.ReactElement;
}
declare const MultiSelectBox: React$1.ForwardRefExoticComponent<MultiSelectBoxProps & React$1.RefAttributes<HTMLDivElement>>;

interface MultiSelectBoxItemProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
    value: string;
    text?: string;
}
declare const MultiSelectBoxItem: React$1.ForwardRefExoticComponent<MultiSelectBoxItemProps & React$1.RefAttributes<HTMLButtonElement>>;

interface SelectBoxProps extends React$1.HTMLAttributes<HTMLDivElement> {
    defaultValue?: string;
    value?: string;
    onValueChange?: (value: string) => void;
    placeholder?: string;
    disabled?: boolean;
    icon?: React$1.ElementType | React$1.JSXElementConstructor<any>;
    children: React$1.ReactElement[] | React$1.ReactElement;
}
declare const SelectBox: React$1.ForwardRefExoticComponent<SelectBoxProps & React$1.RefAttributes<HTMLDivElement>>;

interface SelectBoxItemProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
    value: string;
    text?: string;
    icon?: React$1.ElementType;
}
declare const SelectBoxItem: React$1.ForwardRefExoticComponent<SelectBoxItemProps & React$1.RefAttributes<HTMLButtonElement>>;

interface TabProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
    value: string;
    text: string;
    icon?: React$1.ElementType;
}
declare const Tab: React$1.ForwardRefExoticComponent<TabProps & React$1.RefAttributes<HTMLButtonElement>>;

interface TabListProps extends React$1.HTMLAttributes<HTMLDivElement> {
    defaultValue?: string;
    value?: string;
    onValueChange?: (value: string) => void;
    color?: Color;
    children: React$1.ReactElement[] | React$1.ReactElement;
}
declare const TabList: React$1.ForwardRefExoticComponent<TabListProps & React$1.RefAttributes<HTMLDivElement>>;

interface ToggleProps extends React$1.HTMLAttributes<HTMLDivElement> {
    defaultValue?: string;
    value?: string;
    onValueChange?: (value: string) => void;
    color?: Color;
    children: React$1.ReactElement[] | React$1.ReactElement;
}
declare const Toggle: React$1.ForwardRefExoticComponent<ToggleProps & React$1.RefAttributes<HTMLDivElement>>;

interface ToggleItemProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
    value: string;
    text?: string;
    icon?: React$1.ElementType;
}
declare const ToggleItem: React$1.ForwardRefExoticComponent<ToggleItemProps & React$1.RefAttributes<HTMLButtonElement>>;

interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
    icon?: React$1.ElementType;
    iconPosition?: HorizontalPosition;
    size?: Size;
    color?: Color;
    variant?: ButtonVariant;
    disabled?: boolean;
    loading?: boolean;
    loadingText?: string;
}
declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;

type Locale = typeof enUS;
type DateRangePickerValue = [(Date | null)?, (Date | null)?, (string | null)?];
type DateRangePickerOption = {
    value: string;
    text: string;
    startDate: Date;
    endDate?: Date;
};
interface DateRangePickerProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "value" | "defaultValue"> {
    value?: DateRangePickerValue;
    defaultValue?: DateRangePickerValue;
    onValueChange?: (value: DateRangePickerValue) => void;
    enableDropdown?: boolean;
    options?: DateRangePickerOption[];
    minDate?: Date | null;
    maxDate?: Date | null;
    placeholder?: string;
    dropdownPlaceholder?: string;
    enableYearPagination?: boolean;
    disabled?: boolean;
    color?: Color;
    locale?: Locale;
    enableClear?: boolean;
}
declare const DateRangePicker: React$1.ForwardRefExoticComponent<DateRangePickerProps & React$1.RefAttributes<HTMLDivElement>>;

interface TextInputProps extends React$1.InputHTMLAttributes<HTMLInputElement> {
    type?: "text" | "password";
    defaultValue?: string;
    value?: string;
    icon?: React$1.ElementType | React$1.JSXElementConstructor<any>;
    error?: boolean;
    errorMessage?: string;
    disabled?: boolean;
}
declare const TextInput: React$1.ForwardRefExoticComponent<TextInputProps & React$1.RefAttributes<HTMLInputElement>>;

interface TextProps extends React$1.HTMLAttributes<HTMLParagraphElement> {
    color?: Color;
}
declare const Text: React$1.ForwardRefExoticComponent<TextProps & React$1.RefAttributes<HTMLParagraphElement>>;

declare const Bold: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLElement> & React$1.RefAttributes<HTMLElement>>;

declare const Italic: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLElement> & React$1.RefAttributes<HTMLElement>>;

interface TitleProps extends React$1.HTMLAttributes<HTMLParagraphElement> {
    color?: Color;
}
declare const Title: React$1.ForwardRefExoticComponent<TitleProps & React$1.RefAttributes<HTMLParagraphElement>>;

interface SubtitleProps extends React$1.HTMLAttributes<HTMLParagraphElement> {
    color?: Color;
}
declare const Subtitle: React$1.ForwardRefExoticComponent<SubtitleProps & React$1.RefAttributes<HTMLParagraphElement>>;

interface MetricProps extends React$1.HTMLAttributes<HTMLParagraphElement> {
    color?: Color;
}
declare const Metric: React$1.ForwardRefExoticComponent<MetricProps & React$1.RefAttributes<HTMLParagraphElement>>;

interface CalloutProps extends React$1.HTMLAttributes<HTMLDivElement> {
    title: string;
    icon?: React$1.ElementType;
    color?: Color;
}
declare const Callout: React$1.ForwardRefExoticComponent<CalloutProps & React$1.RefAttributes<HTMLDivElement>>;

interface LegendProps extends React$1.OlHTMLAttributes<HTMLOListElement> {
    categories: string[];
    colors?: Color[];
}
declare const Legend: React$1.ForwardRefExoticComponent<LegendProps & React$1.RefAttributes<HTMLOListElement>>;

interface CategoryBarProps extends React$1.HTMLAttributes<HTMLDivElement> {
    categoryPercentageValues: number[];
    colors?: Color[];
    percentageValue?: number;
    showLabels?: boolean;
    tooltip?: string;
    showAnimation?: boolean;
}
declare const CategoryBar: React$1.ForwardRefExoticComponent<CategoryBarProps & React$1.RefAttributes<HTMLDivElement>>;

interface DeltaBarProps extends React$1.HTMLAttributes<HTMLDivElement> {
    percentageValue: number;
    isIncreasePositive?: boolean;
    tooltip?: string;
    showAnimation?: boolean;
}
declare const DeltaBar: React$1.ForwardRefExoticComponent<DeltaBarProps & React$1.RefAttributes<HTMLDivElement>>;

interface MarkerBarProps extends React$1.HTMLAttributes<HTMLDivElement> {
    percentageValue: number;
    color?: Color;
    tooltip?: string;
    showAnimation?: boolean;
}
declare const MarkerBar: React$1.ForwardRefExoticComponent<MarkerBarProps & React$1.RefAttributes<HTMLDivElement>>;

interface ProgressBarProps extends React$1.HTMLAttributes<HTMLDivElement> {
    percentageValue: number;
    label?: string;
    tooltip?: string;
    showAnimation?: boolean;
    color?: Color;
}
declare const ProgressBar: React$1.ForwardRefExoticComponent<ProgressBarProps & React$1.RefAttributes<HTMLDivElement>>;

interface RangeBarProps extends React$1.HTMLAttributes<HTMLDivElement> {
    percentageValue: number;
    minPercentageValue: number;
    maxPercentageValue: number;
    markerTooltip?: string;
    rangeTooltip?: string;
    showAnimation?: boolean;
    color?: Color;
}
declare const RangeBar: React$1.ForwardRefExoticComponent<RangeBarProps & React$1.RefAttributes<HTMLDivElement>>;

type Bar = {
    key?: string;
    value: number;
    name: string;
    icon?: React$1.JSXElementConstructor<any>;
    href?: string;
    target?: string;
    color?: Color;
};
interface BarListProps extends React$1.HTMLAttributes<HTMLDivElement> {
    data: Bar[];
    valueFormatter?: ValueFormatter;
    color?: Color;
    showAnimation?: boolean;
}
declare const BarList: React$1.ForwardRefExoticComponent<BarListProps & React$1.RefAttributes<HTMLDivElement>>;

interface TrackerBlockProps {
    key?: string | number;
    color?: Color;
    tooltip?: string;
}
interface TrackerProps extends React$1.HTMLAttributes<HTMLDivElement> {
    data: TrackerBlockProps[];
}
declare const Tracker: React$1.ForwardRefExoticComponent<TrackerProps & React$1.RefAttributes<HTMLDivElement>>;

export { Accordion, AccordionBody, AccordionBodyProps, AccordionHeader, AccordionHeaderProps, AccordionList, AccordionListProps, AccordionProps, AlignItems, AreaChart, AreaChartProps, Badge, BadgeDelta, BadgeDeltaProps, BadgeProps, BarChart, BarChartProps, BarList, BarListProps, Bold, Button, ButtonProps, ButtonVariant, Callout, CalloutProps, Card, CardProps, CategoryBar, CategoryBarProps, Col, ColProps, Color, CurveType, DateRangePicker, DateRangePickerProps, DateRangePickerValue, DeltaBar, DeltaBarProps, DeltaType, Divider, DonutChart, DonutChartProps, Dropdown, DropdownItem, DropdownItemProps, DropdownProps, Flex, FlexDirection, FlexProps, Grid, GridProps, HorizontalPosition, Icon, IconProps, IconVariant, Italic, JustifyContent, Legend, LegendProps, LineChart, LineChartProps, List, ListItem, MarkerBar, MarkerBarProps, Metric, MetricProps, MultiSelectBox, MultiSelectBoxItem, MultiSelectBoxItemProps, MultiSelectBoxProps, ProgressBar, ProgressBarProps, RangeBar, RangeBarProps, SelectBox, SelectBoxItem, SelectBoxItemProps, SelectBoxProps, Size, Subtitle, SubtitleProps, Tab, TabList, TabListProps, TabProps, Table, TableBody, TableCell, TableHead, TableHeaderCell, TableRow, Text, TextInput, TextInputProps, TextProps, Title, TitleProps, Toggle, ToggleItem, ToggleItemProps, ToggleProps, Tracker, TrackerProps, ValueFormatter, VerticalPosition };
