import { AnchorHTMLAttributes } from 'react';
import { ButtonHTMLAttributes } from 'react';
import { DateRange } from 'react-aria';
import { DateValue } from '@internationalized/date';
import * as enUS from './locales/en-US.json';
import { InputHTMLAttributes } from 'react';
import { PropsWithChildren } from 'react';
import { default as React_2 } from 'react';
import { ReactElement } from 'react';
import { ReactNode } from 'react';
import { RefObject } from 'react';
import { RowSelectionState } from '@tanstack/react-table';
import { TableOptions } from '@tanstack/react-table';
import { TextareaHTMLAttributes } from 'react';
import { ZonedDateTime } from '@internationalized/date';

declare type BaseOption = {
    value: string;
    label: string;
    render: () => ReactNode;
    highlighted?: boolean;
    disabled?: boolean;
};

export declare interface BaseProps<T extends Row = Row> {
    columns: Column<T>[];
    rows: T[];
    isLoading?: boolean;
    enableRowSelection?: TableOptions<T>["enableRowSelection"];
    onRowSelectionChange?: (newSelection: RowSelectionState) => void;
    rowSelection?: RowSelectionState;
}

export declare const Button: React_2.ForwardRefExoticComponent<React_2.ButtonHTMLAttributes<HTMLButtonElement> & React_2.AnchorHTMLAttributes<HTMLAnchorElement> & {
    color?: "primary" | "secondary" | "tertiary" | "danger" | undefined;
    size?: "medium" | "small" | "nano" | undefined;
    icon?: ReactNode;
    iconPosition?: "left" | "right" | undefined;
    active?: boolean | undefined;
    fullWidth?: boolean | undefined;
} & React_2.RefAttributes<ButtonElement>>;

export declare type ButtonElement = HTMLButtonElement & HTMLAnchorElement;

export declare type ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & AnchorHTMLAttributes<HTMLAnchorElement> & {
    color?: "primary" | "secondary" | "tertiary" | "danger";
    size?: "medium" | "small" | "nano";
    icon?: ReactNode;
    iconPosition?: "left" | "right";
    active?: boolean;
    fullWidth?: boolean;
};

export declare const Checkbox: React_2.ForwardRefExoticComponent<React_2.InputHTMLAttributes<HTMLInputElement> & FieldProps & CheckboxOnlyProps & React_2.RefAttributes<HTMLInputElement>>;

export declare const CheckboxGroup: ({ children, ...props }: PropsWithChildren & FieldProps) => React_2.JSX.Element;

export declare type CheckboxOnlyProps = {
    indeterminate?: boolean;
    label?: ReactNode;
};

export declare type CheckboxProps = InputHTMLAttributes<HTMLInputElement> & FieldProps & CheckboxOnlyProps;

export declare type Column<T extends Row = Row> = (ColumnCustomCell<T> | ColumnField) & {
    headerName?: string;
    highlight?: boolean;
    enableSorting?: boolean;
};

export declare interface ColumnCustomCell<T extends Row = Row> {
    id: string;
    renderCell: (params: {
        row: T;
    }) => React_2.ReactNode;
}

export declare interface ColumnField {
    id?: string;
    field: string;
    renderCell?: never;
}

export declare type Configuration = {
    themes: Record<string, PartialExtendableNested<typeof tokens.themes.default>>;
};

/**
 * Converts a DateValue object to an ISO 8601 formatted string in UTC.
 * @param date - The DateValue object to convert.
 * @param timezone - (Optional) The timezone to use for the conversion. If not provided, the local timezone will be used.
 * @returns The string representation of the date or an empty string if the input date is null.
 * @throws {Error} - If an invalid date or timezone format is encountered.
 */
export declare const convertDateValueToString: (date: DateValue | null, timezone?: string) => string;

export declare const CunninghamProvider: ({ currentLocale, customLocales, theme, children, }: Props_4) => React_2.JSX.Element;

export declare const DataGrid: <T extends Row>({ columns, rows, pagination, sortModel, onSortModelChange, isLoading, enableRowSelection, onRowSelectionChange, rowSelection, tableOptions, displayHeader, }: Props<T>) => React_2.JSX.Element;

export declare const DataList: <T extends Row>({ rows, ...props }: BaseProps<T>) => React_2.JSX.Element;

export declare const DatePicker: (props: DatePickerProps) => React_2.JSX.Element;

declare type DatePickerAuxSubProps = FieldProps & {
    label?: string;
    minValue?: string;
    maxValue?: string;
    disabled?: boolean;
    name?: string;
    locale?: string;
    timezone?: string;
};

export declare type DatePickerProps = DatePickerAuxSubProps & {
    value?: null | string;
    label: string;
    defaultValue?: string;
    onChange?: (value: string | null) => void | undefined;
};

export declare const DateRangePicker: ({ startLabel, endLabel, ...props }: DateRangePickerProps) => React_2.JSX.Element;

export declare type DateRangePickerProps = DatePickerAuxSubProps & {
    startLabel: string;
    endLabel: string;
    value?: null | [string, string];
    defaultValue?: [string, string];
    onChange?: (value: [string, string] | null) => void;
};

export declare const DEFAULT_LOCALE = Locales.enUS;

export declare const DEFAULT_THEME = "default";

export declare type DefaultTokens = PartialNested<typeof tokens.themes.default>;

export declare const defaultTokens: {
    theme: {
        colors: {
            "secondary-text": string;
            "secondary-100": string;
            "secondary-200": string;
            "secondary-300": string;
            "secondary-400": string;
            "secondary-500": string;
            "secondary-600": string;
            "secondary-700": string;
            "secondary-800": string;
            "secondary-900": string;
            "info-text": string;
            "info-100": string;
            "info-200": string;
            "info-300": string;
            "info-400": string;
            "info-500": string;
            "info-600": string;
            "info-700": string;
            "info-800": string;
            "info-900": string;
            "greyscale-100": string;
            "greyscale-200": string;
            "greyscale-300": string;
            "greyscale-400": string;
            "greyscale-500": string;
            "greyscale-600": string;
            "greyscale-700": string;
            "greyscale-800": string;
            "greyscale-900": string;
            "greyscale-000": string;
            "primary-100": string;
            "primary-200": string;
            "primary-300": string;
            "primary-400": string;
            "primary-500": string;
            "primary-600": string;
            "primary-700": string;
            "primary-800": string;
            "primary-900": string;
            "success-100": string;
            "success-200": string;
            "success-300": string;
            "success-400": string;
            "success-500": string;
            "success-600": string;
            "success-700": string;
            "success-800": string;
            "success-900": string;
            "warning-100": string;
            "warning-200": string;
            "warning-300": string;
            "warning-400": string;
            "warning-500": string;
            "warning-600": string;
            "warning-700": string;
            "warning-800": string;
            "warning-900": string;
            "danger-100": string;
            "danger-200": string;
            "danger-300": string;
            "danger-400": string;
            "danger-500": string;
            "danger-600": string;
            "danger-700": string;
            "danger-800": string;
            "danger-900": string;
            "primary-text": string;
            "success-text": string;
            "warning-text": string;
            "danger-text": string;
        };
        font: {
            sizes: {
                h1: string;
                h2: string;
                h3: string;
                h4: string;
                h5: string;
                h6: string;
                l: string;
                m: string;
                s: string;
            };
            weights: {
                thin: number;
                light: number;
                regular: number;
                medium: number;
                bold: number;
                extrabold: number;
                black: number;
            };
            families: {
                base: string;
                accent: string;
            };
            letterSpacings: {
                h1: string;
                h2: string;
                h3: string;
                h4: string;
                h5: string;
                h6: string;
                l: string;
                m: string;
                s: string;
            };
        };
        spacings: {
            xl: string;
            l: string;
            b: string;
            s: string;
            t: string;
            st: string;
        };
        transitions: {
            "ease-in": string;
            "ease-out": string;
            "ease-in-out": string;
            duration: string;
        };
    };
    components: {
        "forms-textarea": {
            "font-weight": number;
            "font-size": string;
            "border-radius": string;
            "border-radius--hover": string;
            "border-radius--focus": string;
            "border-width": string;
            "border-color": string;
            "border-color--hover": string;
            "border-color--focus": string;
            "border-style": string;
            "label-color--focus": string;
            "background-color": string;
            "value-color": string;
            "value-color--disabled": string;
        };
        "forms-switch": {
            "accent-color": string;
            "rail-background-color": string;
            "rail-background-color--disabled": string;
            "rail-border-radius": string;
            "handle-background-color": string;
            "handle-background-color--disabled": string;
            "handle-border-radius": string;
        };
        "forms-select": {
            "border-color": string;
            "border-color--focus": string;
            "border-color--hover": string;
            "border-radius": string;
            "border-radius--focus": string;
            "border-radius--hover": string;
            "border-style": string;
            "border-width": string;
            "value-color": string;
            "value-color--disabled": string;
            "font-size": string;
            height: string;
            "item-background-color--hover": string;
            "item-background-color--selected": string;
            "item-color": string;
            "item-color--disabled": string;
            "item-font-size": string;
            "background-color": string;
            "menu-background-color": string;
            "label-color--focus": string;
            "multi-pill-background-color": string;
            "multi-pill-border-radius": string;
            "multi-pill-max-width": string;
            "multi-pill-font-size": string;
        };
        "forms-radio": {
            "border-color": string;
            "accent-color": string;
            "background-color": string;
        };
        "forms-labelledbox": {
            "label-color--small": string;
            "label-color--big": string;
            "label-color--small--disabled": string;
            "label-color--big--disabled": string;
        };
        "forms-input": {
            "font-weight": number;
            "font-size": string;
            "border-radius": string;
            "border-radius--hover": string;
            "border-radius--focus": string;
            "border-width": string;
            "border-color": string;
            "border-color--hover": string;
            "border-color--focus": string;
            "border-style": string;
            "label-color--focus": string;
            "background-color": string;
            "value-color": string;
            "value-color--disabled": string;
        };
        "forms-fileuploader": {
            "background-color": string;
            "border-color": string;
            "border-radius": string;
            "border-width": string;
            "border-style": string;
            "background-color--active": string;
            color: string;
            padding: string;
            "accent-color": string;
            "text-color": string;
            "text-size": string;
            "file-text-size": string;
            "file-text-color": string;
            "file-text-weight": number;
            "file-border-color": string;
            "file-border-width": string;
            "file-border-radius": string;
            "file-background-color": string;
            "file-specs-size": string;
            "file-specs-color": string;
        };
        "forms-field": {
            width: string;
            "font-size": string;
            color: string;
        };
        "forms-datepicker": {
            "border-color": string;
            "border-color--disabled": string;
            "border-color--focus": string;
            "border-color--hover": string;
            "border-radius": string;
            "border-radius--focus": string;
            "border-radius--hover": string;
            "border-style": string;
            "border-width": string;
            "value-color": string;
            "value-color--disabled": string;
            "font-size": string;
            height: string;
            "item-background-color--hover": string;
            "item-background-color--selected": string;
            "item-color": string;
            "item-font-size": string;
            "background-color": string;
            "menu-background-color": string;
            "range-selection-background-color": string;
            "range-selection-background-color--disabled": string;
            "grid-cell--border-color--today": string;
            "grid-cell--color--today": string;
            "label-color--focus": string;
        };
        "forms-checkbox": {
            "background-color--hover": string;
            "background-color": string;
            "font-size": string;
            "font-weight": number;
            color: string;
            "border-color": string;
            "border-radius": string;
            "accent-color": string;
            size: string;
        };
        button: {
            "border-radius": string;
            "border-radius--active": string;
            "border-radius--focus": string;
            "medium-height": string;
            "small-height": string;
            "nano-height": string;
            "medium-font-size": string;
            "medium-icon-font-size": string;
            "small-font-size": string;
            "small-icon-font-size": string;
            "nano-font-size": string;
            "nano-icon-font-size": string;
            "font-weight": number;
            "font-family": string;
        };
    };
};

export declare const Field: ({ children, state, text, textItems, rightText, fullWidth, compact, className, }: Props_2) => React_2.JSX.Element;

export declare type FieldProps = {
    state?: FieldState | undefined;
    text?: string | undefined;
    textItems?: string[] | undefined;
    rightText?: string | undefined;
    fullWidth?: boolean | undefined;
    compact?: boolean | undefined;
    className?: string | undefined;
};

export declare type FieldState = "success" | "error" | "default";

export declare const FileUploader: React_2.ForwardRefExoticComponent<FileUploaderProps & React_2.RefAttributes<FileUploaderRefType>>;

export declare interface FileUploaderProps extends Omit<FieldProps, "state">, InputHTMLAttributes<HTMLInputElement> {
    state?: FieldState | "uploading" | undefined;
    multiple?: boolean;
    icon?: ReactElement;
    successIcon?: ReactElement;
    deleteIcon?: ReactElement;
    fileSelectedIcon?: ReactElement;
    uploadingIcon?: ReactElement;
    animateIcon?: boolean;
    name?: string;
    bigText?: string;
    onFilesChange?: (event: {
        target: {
            value: File[];
        };
    }) => void;
    fakeDefaultFiles?: File[];
}

export declare interface FileUploaderRefType {
    reset: () => void;
}

export declare const getDefaultPickerOptions: (props: DatePickerAuxSubProps) => any;

export declare const Input: React_2.ForwardRefExoticComponent<React_2.InputHTMLAttributes<HTMLInputElement> & FieldProps & InputOnlyProps & React_2.RefAttributes<HTMLInputElement>>;

export declare type InputOnlyProps = {
    label?: string;
    icon?: ReactNode;
    rightIcon?: ReactNode;
    charCounter?: boolean;
    charCounterMax?: number;
};

export declare type InputProps = InputHTMLAttributes<HTMLInputElement> & FieldProps & InputOnlyProps;

/**
 * Checks if a given time zone is valid and supported by the environment.
 * @param timezone The time zone to validate.
 * @returns true if the time zone is valid and supported, false otherwise.
 */
export declare const isValidTimeZone: (timezone: string) => boolean;

export declare const Loader: ({ size, ...props }: Props_3) => React_2.JSX.Element;

declare enum Locales {
    enUS = "en-US",
    frFR = "fr-FR"
}

declare type Option_2 = OptionWithoutRender | OptionWithRender;
export { Option_2 as Option }

export declare type OptionWithoutRender = Omit<BaseOption, "value" | "render"> & {
    value?: string;
    render?: undefined;
};

export declare type OptionWithRender = BaseOption;

export declare const Pagination: ({ page, onPageChange, pagesCount, }: PaginationProps) => React_2.JSX.Element | null;

export declare interface PaginationProps {
    /** Current page */
    page: number;
    /** Called when page need to change */
    onPageChange: (page: number) => void;
    /** Total number of pages */
    pagesCount?: number;
    /** Total number of items per page */
    pageSize: number;
}

/**
 * Parses an ISO 8601 date and time string with a UTC offset or in UTC.
 * @param rawDate - The raw date string to parse.
 * @param timezone - (Optional) The timezone to use for parsing. If not provided, the local timezone will be used.
 * @returns The parsed ZonedDateTime object or undefined if the input date is undefined.
 * @throws {Error} - If an invalid date or timezone format is encountered.
 */
export declare const parseDateValue: (rawDate: string | undefined, timezone?: string) => undefined | ZonedDateTime;

/**
 * Parses a range of ISO 8601 date and time string with a UTC offset or in UTC.
 * @param rawRange - The range of raw date strings to parse.
 * @param timezone - (Optional) The timezone to use for parsing. If not provided, the local timezone will be used.
 * @returns The parsed DateRange object or undefined if the input date range is undefined or uncomplete.
 */
export declare const parseRangeDateValue: (rawRange: [
string,
string
] | undefined, timezone?: string) => DateRange | undefined;

declare type PartialExtendableNested<T> = {
    [K in keyof T]?: T[K] extends object ? PartialExtendableNested<T[K]> : T[K];
} & Record<PropertyKey, any>;

declare type PartialNested<T> = {
    [K in keyof T]?: T extends object ? PartialNested<T[K]> : T[K];
};

export declare const Popover: ({ parentRef, children, onClickOutside, borderless, }: PopoverProps) => React_2.JSX.Element;

export declare type PopoverProps = PropsWithChildren & {
    parentRef: RefObject<HTMLDivElement>;
    onClickOutside: () => void;
    borderless?: boolean;
};

declare interface Props<T extends Row = Row> extends BaseProps<T> {
    pagination?: PaginationProps;
    sortModel?: SortModel;
    onSortModelChange?: (newSortModel: SortModel) => void;
    /** Options for the underlying tanstack table. */
    tableOptions?: TableOptions<T>;
    displayHeader?: boolean;
}

declare type Props_2 = FieldProps & PropsWithChildren;

declare interface Props_3 {
    "aria-label"?: string;
    size?: "small" | "medium";
}

declare interface Props_4 extends PropsWithChildren {
    customLocales?: Record<string, TranslationSet>;
    currentLocale?: string;
    theme?: string;
}

export declare const Radio: React_2.ForwardRefExoticComponent<React_2.InputHTMLAttributes<HTMLInputElement> & FieldProps & RadioOnlyProps & React_2.RefAttributes<HTMLInputElement>>;

export declare const RadioGroup: ({ children, style, ...props }: {
    children?: React_2.ReactNode;
} & FieldProps & {
    style?: React_2.CSSProperties | undefined;
}) => React_2.JSX.Element;

export declare type RadioOnlyProps = {
    label?: ReactNode;
};

export declare type RadioProps = InputHTMLAttributes<HTMLInputElement> & FieldProps & RadioOnlyProps;

export declare interface Row extends Record<string, any> {
    id: string;
}

export declare const Select: React_2.ForwardRefExoticComponent<{
    children?: React_2.ReactNode;
} & FieldProps & {
    label: string;
    hideLabel?: boolean | undefined;
    options: Option_2[];
    searchable?: boolean | undefined;
    name?: string | undefined;
    defaultValue?: string | number | string[] | undefined;
    value?: string | number | string[] | undefined;
    onChange?: ((event: {
        target: {
            value: string | number | undefined | string[];
        };
    }) => void) | undefined;
    onBlur?: ((event: {
        target: {
            value: string | number | undefined | string[];
        };
    }) => void) | undefined;
    disabled?: boolean | undefined;
    clearable?: boolean | undefined;
    multi?: boolean | undefined;
    showLabelWhenSelected?: boolean | undefined;
    monoline?: boolean | undefined;
    selectedItemsStyle?: "text" | "pills" | undefined;
    menuOptionsStyle?: "checkbox" | "plain" | undefined;
} & React_2.RefAttributes<SelectHandle>>;

export declare interface SelectHandle {
    blur: () => void;
}

export declare const SelectMono: React_2.ForwardRefExoticComponent<{
    children?: React_2.ReactNode;
} & FieldProps & {
    label: string;
    hideLabel?: boolean | undefined;
    options: Option_2[];
    searchable?: boolean | undefined;
    name?: string | undefined;
    defaultValue?: string | number | string[] | undefined;
    value?: string | number | string[] | undefined;
    onChange?: ((event: {
        target: {
            value: string | number | string[] | undefined;
        };
    }) => void) | undefined;
    onBlur?: ((event: {
        target: {
            value: string | number | string[] | undefined;
        };
    }) => void) | undefined;
    disabled?: boolean | undefined;
    clearable?: boolean | undefined;
    multi?: boolean | undefined;
    showLabelWhenSelected?: boolean | undefined;
    monoline?: boolean | undefined;
    selectedItemsStyle?: "text" | "pills" | undefined;
    menuOptionsStyle?: "checkbox" | "plain" | undefined;
} & React_2.RefAttributes<SelectHandle>>;

export declare const SelectMulti: React_2.ForwardRefExoticComponent<Omit<SelectProps, "onChange"> & {
    onChange?: ((event: {
        target: {
            value: string[];
        };
    }) => void) | undefined;
} & React_2.RefAttributes<SelectHandle>>;

export declare type SelectMultiProps = Omit<SelectProps, "onChange"> & {
    onChange?: (event: {
        target: {
            value: string[];
        };
    }) => void;
};

export declare type SelectProps = PropsWithChildren & FieldProps & {
    label: string;
    hideLabel?: boolean;
    options: Option_2[];
    searchable?: boolean;
    name?: string;
    defaultValue?: string | number | string[];
    value?: string | number | string[];
    onChange?: (event: {
        target: {
            value: string | number | undefined | string[];
        };
    }) => void;
    onBlur?: (event: {
        target: {
            value: string | number | undefined | string[];
        };
    }) => void;
    disabled?: boolean;
    clearable?: boolean;
    multi?: boolean;
    showLabelWhenSelected?: boolean;
    monoline?: boolean;
    selectedItemsStyle?: "pills" | "text";
    menuOptionsStyle?: "plain" | "checkbox";
};

/**
 * Handles sorting, pagination.
 */
export declare const SimpleDataGrid: <T extends Row>({ rows, defaultPaginationParams, defaultSortModel, ...props }: BaseProps<T> & {
    /** Pagination default props, should never change. */
    defaultPaginationParams?: boolean | {
        defaultPage?: number | undefined;
        defaultPagesCount?: number | undefined;
        pageSize?: number | undefined;
    } | undefined;
    /** Pagination default props, should never change. */
    defaultSortModel?: SortModel | undefined;
}) => React_2.JSX.Element;

export declare type SortModel = {
    field: string;
    sort: "asc" | "desc" | null;
}[];

export declare const SUPPORTED_LOCALES: Locales[];

export declare const Switch: React_2.ForwardRefExoticComponent<React_2.InputHTMLAttributes<HTMLInputElement> & FieldProps & SwitchOnlyProps & React_2.RefAttributes<HTMLInputElement>>;

export declare type SwitchOnlyProps = {
    label?: string;
    labelSide?: "left" | "right";
};

export declare type SwitchProps = InputHTMLAttributes<HTMLInputElement> & FieldProps & SwitchOnlyProps;

export declare const TextArea: React_2.ForwardRefExoticComponent<React_2.TextareaHTMLAttributes<HTMLTextAreaElement> & FieldProps & {
    label?: string | undefined;
    charCounter?: boolean | undefined;
    charCounterMax?: number | undefined;
} & React_2.RefAttributes<HTMLTextAreaElement>>;

export declare type TextAreaProps = TextareaHTMLAttributes<HTMLTextAreaElement> & FieldProps & {
    label?: string;
    charCounter?: boolean;
    charCounterMax?: number;
};

declare const tokens: {
    themes: {
        default: {
            theme: {
                colors: {
                    "secondary-text": string;
                    "secondary-100": string;
                    "secondary-200": string;
                    "secondary-300": string;
                    "secondary-400": string;
                    "secondary-500": string;
                    "secondary-600": string;
                    "secondary-700": string;
                    "secondary-800": string;
                    "secondary-900": string;
                    "info-text": string;
                    "info-100": string;
                    "info-200": string;
                    "info-300": string;
                    "info-400": string;
                    "info-500": string;
                    "info-600": string;
                    "info-700": string;
                    "info-800": string;
                    "info-900": string;
                    "greyscale-100": string;
                    "greyscale-200": string;
                    "greyscale-300": string;
                    "greyscale-400": string;
                    "greyscale-500": string;
                    "greyscale-600": string;
                    "greyscale-700": string;
                    "greyscale-800": string;
                    "greyscale-900": string;
                    "greyscale-000": string;
                    "primary-100": string;
                    "primary-200": string;
                    "primary-300": string;
                    "primary-400": string;
                    "primary-500": string;
                    "primary-600": string;
                    "primary-700": string;
                    "primary-800": string;
                    "primary-900": string;
                    "success-100": string;
                    "success-200": string;
                    "success-300": string;
                    "success-400": string;
                    "success-500": string;
                    "success-600": string;
                    "success-700": string;
                    "success-800": string;
                    "success-900": string;
                    "warning-100": string;
                    "warning-200": string;
                    "warning-300": string;
                    "warning-400": string;
                    "warning-500": string;
                    "warning-600": string;
                    "warning-700": string;
                    "warning-800": string;
                    "warning-900": string;
                    "danger-100": string;
                    "danger-200": string;
                    "danger-300": string;
                    "danger-400": string;
                    "danger-500": string;
                    "danger-600": string;
                    "danger-700": string;
                    "danger-800": string;
                    "danger-900": string;
                    "primary-text": string;
                    "success-text": string;
                    "warning-text": string;
                    "danger-text": string;
                };
                font: {
                    sizes: {
                        h1: string;
                        h2: string;
                        h3: string;
                        h4: string;
                        h5: string;
                        h6: string;
                        l: string;
                        m: string;
                        s: string;
                    };
                    weights: {
                        thin: number;
                        light: number;
                        regular: number;
                        medium: number;
                        bold: number;
                        extrabold: number;
                        black: number;
                    };
                    families: {
                        base: string;
                        accent: string;
                    };
                    letterSpacings: {
                        h1: string;
                        h2: string;
                        h3: string;
                        h4: string;
                        h5: string;
                        h6: string;
                        l: string;
                        m: string;
                        s: string;
                    };
                };
                spacings: {
                    xl: string;
                    l: string;
                    b: string;
                    s: string;
                    t: string;
                    st: string;
                };
                transitions: {
                    "ease-in": string;
                    "ease-out": string;
                    "ease-in-out": string;
                    duration: string;
                };
            };
            components: {
                "forms-textarea": {
                    "font-weight": number;
                    "font-size": string;
                    "border-radius": string;
                    "border-radius--hover": string;
                    "border-radius--focus": string;
                    "border-width": string;
                    "border-color": string;
                    "border-color--hover": string;
                    "border-color--focus": string;
                    "border-style": string;
                    "label-color--focus": string;
                    "background-color": string;
                    "value-color": string;
                    "value-color--disabled": string;
                };
                "forms-switch": {
                    "accent-color": string;
                    "rail-background-color": string;
                    "rail-background-color--disabled": string;
                    "rail-border-radius": string;
                    "handle-background-color": string;
                    "handle-background-color--disabled": string;
                    "handle-border-radius": string;
                };
                "forms-select": {
                    "border-color": string;
                    "border-color--focus": string;
                    "border-color--hover": string;
                    "border-radius": string;
                    "border-radius--focus": string;
                    "border-radius--hover": string;
                    "border-style": string;
                    "border-width": string;
                    "value-color": string;
                    "value-color--disabled": string;
                    "font-size": string;
                    height: string;
                    "item-background-color--hover": string;
                    "item-background-color--selected": string;
                    "item-color": string;
                    "item-color--disabled": string;
                    "item-font-size": string;
                    "background-color": string;
                    "menu-background-color": string;
                    "label-color--focus": string;
                    "multi-pill-background-color": string;
                    "multi-pill-border-radius": string;
                    "multi-pill-max-width": string;
                    "multi-pill-font-size": string;
                };
                "forms-radio": {
                    "border-color": string;
                    "accent-color": string;
                    "background-color": string;
                };
                "forms-labelledbox": {
                    "label-color--small": string;
                    "label-color--big": string;
                    "label-color--small--disabled": string;
                    "label-color--big--disabled": string;
                };
                "forms-input": {
                    "font-weight": number;
                    "font-size": string;
                    "border-radius": string;
                    "border-radius--hover": string;
                    "border-radius--focus": string;
                    "border-width": string;
                    "border-color": string;
                    "border-color--hover": string;
                    "border-color--focus": string;
                    "border-style": string;
                    "label-color--focus": string;
                    "background-color": string;
                    "value-color": string;
                    "value-color--disabled": string;
                };
                "forms-fileuploader": {
                    "background-color": string;
                    "border-color": string;
                    "border-radius": string;
                    "border-width": string;
                    "border-style": string;
                    "background-color--active": string;
                    color: string;
                    padding: string;
                    "accent-color": string;
                    "text-color": string;
                    "text-size": string;
                    "file-text-size": string;
                    "file-text-color": string;
                    "file-text-weight": number;
                    "file-border-color": string;
                    "file-border-width": string;
                    "file-border-radius": string;
                    "file-background-color": string;
                    "file-specs-size": string;
                    "file-specs-color": string;
                };
                "forms-field": {
                    width: string;
                    "font-size": string;
                    color: string;
                };
                "forms-datepicker": {
                    "border-color": string;
                    "border-color--disabled": string;
                    "border-color--focus": string;
                    "border-color--hover": string;
                    "border-radius": string;
                    "border-radius--focus": string;
                    "border-radius--hover": string;
                    "border-style": string;
                    "border-width": string;
                    "value-color": string;
                    "value-color--disabled": string;
                    "font-size": string;
                    height: string;
                    "item-background-color--hover": string;
                    "item-background-color--selected": string;
                    "item-color": string;
                    "item-font-size": string;
                    "background-color": string;
                    "menu-background-color": string;
                    "range-selection-background-color": string;
                    "range-selection-background-color--disabled": string;
                    "grid-cell--border-color--today": string;
                    "grid-cell--color--today": string;
                    "label-color--focus": string;
                };
                "forms-checkbox": {
                    "background-color--hover": string;
                    "background-color": string;
                    "font-size": string;
                    "font-weight": number;
                    color: string;
                    "border-color": string;
                    "border-radius": string;
                    "accent-color": string;
                    size: string;
                };
                button: {
                    "border-radius": string;
                    "border-radius--active": string;
                    "border-radius--focus": string;
                    "medium-height": string;
                    "small-height": string;
                    "nano-height": string;
                    "medium-font-size": string;
                    "medium-icon-font-size": string;
                    "small-font-size": string;
                    "small-icon-font-size": string;
                    "nano-font-size": string;
                    "nano-icon-font-size": string;
                    "font-weight": number;
                    "font-family": string;
                };
            };
        };
        dark: {
            theme: {
                colors: {
                    "greyscale-100": string;
                    "greyscale-200": string;
                    "greyscale-300": string;
                    "greyscale-400": string;
                    "greyscale-500": string;
                    "greyscale-600": string;
                    "greyscale-700": string;
                    "greyscale-800": string;
                    "greyscale-900": string;
                    "greyscale-000": string;
                    "primary-100": string;
                    "primary-200": string;
                    "primary-300": string;
                    "primary-400": string;
                    "primary-500": string;
                    "primary-600": string;
                    "primary-700": string;
                    "primary-800": string;
                    "primary-900": string;
                    "success-100": string;
                    "success-200": string;
                    "success-300": string;
                    "success-400": string;
                    "success-500": string;
                    "success-600": string;
                    "success-700": string;
                    "success-800": string;
                    "success-900": string;
                    "warning-100": string;
                    "warning-200": string;
                    "warning-300": string;
                    "warning-400": string;
                    "warning-500": string;
                    "warning-600": string;
                    "warning-700": string;
                    "warning-800": string;
                    "warning-900": string;
                    "danger-100": string;
                    "danger-200": string;
                    "danger-300": string;
                    "danger-400": string;
                    "danger-500": string;
                    "danger-600": string;
                    "danger-700": string;
                    "danger-800": string;
                    "danger-900": string;
                };
            };
        };
    };
};

declare type TranslationSet = PartialNested<typeof enUS>;

export declare const useCunningham: () => {
    t: (key: string, vars?: Record<string, string | number>) => string;
    currentLocale: string;
};

export declare const usePagination: ({ defaultPage, defaultPagesCount, pageSize, }: {
    /** Default current page */
    defaultPage?: number | undefined;
    /** Default total number of pages */
    defaultPagesCount?: number | undefined;
    /** Total number of items per page */
    pageSize?: number | undefined;
}) => {
    page: number;
    setPage: React_2.Dispatch<React_2.SetStateAction<number>>;
    onPageChange: React_2.Dispatch<React_2.SetStateAction<number>>;
    pagesCount: number | undefined;
    setPagesCount: React_2.Dispatch<React_2.SetStateAction<number | undefined>>;
    pageSize: number;
};

export { }
