import * as React from 'react'; import React__default, { PropsWithChildren, ButtonHTMLAttributes, DetailedHTMLProps, InputHTMLAttributes, ChangeEvent, TextareaHTMLAttributes, ReactNode } from 'react'; import { DayPickerSingleProps } from 'react-day-picker'; import { Props } from 'react-select'; import { ITooltip } from 'react-tooltip'; type Without = { [P in Exclude]?: never; }; type XOR = (T | U) extends object ? (Without & U) | (Without & T) : (T | U); type CommonAlertProps = PropsWithChildren<{ type: 'success' | 'information' | 'warning' | 'error'; className?: string; }>; interface BasicAlertProps extends CommonAlertProps { closable: boolean; title?: string; onClose?: () => void; } interface CollapsibleAlertProps extends CommonAlertProps { showContentByDefault: boolean; title: string; } type AlertProps = XOR & { collapsible: boolean; }; declare const Alert: ({ collapsible, ...props }: AlertProps) => React__default.JSX.Element; interface BadgeProps extends React__default.HTMLAttributes { variant: 'success' | 'error' | 'warning' | 'info' | 'reverse-success' | 'reverse-error' | 'reverse-warning' | 'reverse-info'; } declare const Badge: { ({ className, variant, children, ...props }: PropsWithChildren): React__default.JSX.Element; displayName: string; }; interface ButtonProps extends PropsWithChildren> { className?: string; danger?: boolean; fullWidth?: boolean; priority?: 'primary' | 'secondary'; } declare const Button: ({ children, className, danger, fullWidth, priority, ...props }: ButtonProps) => React__default.JSX.Element; type ToggleButtonProps = PropsWithChildren<{ isActive: boolean; }> & Omit; declare function ToggleButton({ children, isActive, ...props }: ToggleButtonProps): JSX.Element; type CheckboxDefaultProps = Omit, HTMLInputElement>, 'type'>; interface CheckboxProps extends CheckboxDefaultProps { id?: string; name: NonNullable; value: NonNullable; containerClassName?: string; label: JSX.Element | string; } declare function Checkbox({ containerClassName, label, ...props }: CheckboxProps): JSX.Element; interface InputProps extends InputHTMLAttributes { name: string; label?: string; errorText?: string; error?: boolean; wrapperClassName?: string; } declare const Input: React__default.ForwardRefExoticComponent>; interface InputCurrencyProps extends InputProps { currency?: string; } declare const InputCurrency: React__default.ForwardRefExoticComponent>; declare const parseDate: (str: string, format: string) => Date | undefined; declare const formatDate: (date: Date, format: string) => string; type InputDateProps = { name: string; label?: string; format?: string; parseDate: (str: string, format: string) => Date | undefined; formatDate: (date: Date, format: string) => string; inputProps?: Partial; className?: string; onDayChange?: (date: Date | undefined) => void; } & Omit; declare function InputDate({ className, format, formatDate, label, name, parseDate, inputProps, onDayChange, ...props }: InputDateProps): React__default.JSX.Element; interface InputIconProps extends InputProps { icon: React__default.ReactNode; } declare const InputIcon: React__default.ForwardRefExoticComponent>; interface ModalProps { className?: string; isOpen: boolean; mainButton: JSX.Element; onRequestClose?: () => void; overlayClassName?: string; secondaryButton?: JSX.Element; title: string; } declare const CustomModal: { ({ children, className, mainButton, overlayClassName, secondaryButton, title, ...props }: PropsWithChildren): React__default.JSX.Element; displayName: string; }; type TransitionStatus = 'entering' | 'entered' | 'exiting' | 'exited' | 'unmounted'; type OverlayProps = { className?: string; status: TransitionStatus; }; declare const Overlay: { ({ className, children, status }: PropsWithChildren): JSX.Element; displayName: string; }; type RadioDefaultProps = Omit, HTMLInputElement>, 'type'>; interface RadioProps extends RadioDefaultProps { label?: JSX.Element | string; containerClassName?: string; } declare const Radio: { ({ label, containerClassName, children, id, name, value, ...props }: RadioProps): JSX.Element; displayName: string; }; interface SelectProps extends Props { label?: { name?: string; value: string; }; containerClassName?: string; } declare const Select: ({ label, containerClassName, ...props }: SelectProps) => React__default.JSX.Element; type SwitchBaseProps = { id: string; checked: boolean; value: number; onChange: (e: ChangeEvent) => void; title?: string | JSX.Element; labelPositionEnd?: boolean; }; type SwitchProps = Omit, keyof SwitchBaseProps> & SwitchBaseProps; declare const Switch: ({ id, title, checked, value, onChange, labelPositionEnd, ...props }: SwitchProps) => JSX.Element; interface TextareaProps extends TextareaHTMLAttributes { id: string; name: string; label?: string; errorText?: string; error?: boolean; wrapperClassName?: string; } declare const Textarea: React__default.ForwardRefExoticComponent>; interface ToastNotificationProps { children: ReactNode; type: 'success' | 'error'; visible: boolean; } declare const ToastNotification: ({ children, type, visible, ...props }: ToastNotificationProps) => React__default.JSX.Element; type TooltipProps = ITooltip; declare const Tooltip: { (props: TooltipProps): React__default.JSX.Element; displayName: string; }; declare const _default: { Alert: ({ collapsible, ...props }: AlertProps) => React.JSX.Element; Badge: { ({ className, variant, children, ...props }: React.PropsWithChildren): React.JSX.Element; displayName: string; }; Button: ({ children, className, danger, fullWidth, priority, ...props }: ButtonProps) => React.JSX.Element; Checkbox: typeof Checkbox; Input: React.ForwardRefExoticComponent>; InputCurrency: React.ForwardRefExoticComponent>; InputDate: typeof InputDate; InputIcon: React.ForwardRefExoticComponent>; Modal: { ({ children, className, mainButton, overlayClassName, secondaryButton, title, ...props }: React.PropsWithChildren): React.JSX.Element; displayName: string; }; Overlay: { ({ className, children, status }: React.PropsWithChildren): JSX.Element; displayName: string; }; Radio: { ({ label, containerClassName, children, id, name, value, ...props }: RadioProps): JSX.Element; displayName: string; }; Select: ({ label, containerClassName, ...props }: SelectProps) => React.JSX.Element; Switch: ({ id, title, checked, value, onChange, labelPositionEnd, ...props }: SwitchProps) => JSX.Element; Textarea: React.ForwardRefExoticComponent>; ToastNotification: ({ children, type, visible, ...props }: ToastNotificationProps) => React.JSX.Element; ToggleButton: typeof ToggleButton; Tooltip: { (props: TooltipProps): React.JSX.Element; displayName: string; }; }; export { Alert, type AlertProps, Badge, type BadgeProps, Button, type ButtonProps, Checkbox, type CheckboxProps, Input, InputCurrency, type InputCurrencyProps, InputDate, type InputDateProps, InputIcon, type InputIconProps, type InputProps, CustomModal as Modal, type ModalProps, Overlay, type OverlayProps, Radio, type RadioProps, Select, type SelectProps, Switch, type SwitchProps, Textarea, type TextareaProps, ToastNotification, type ToastNotificationProps, ToggleButton, type ToggleButtonProps, Tooltip, type TooltipProps, _default as default, formatDate, parseDate };