Загрузка данных


import { AccordionTabChangeEvent } from 'primereact/accordion';
import { AppendToType } from 'primereact/api';
import { ButtonHTMLAttributes } from 'react';
import type { CalendarProps as CalendarProps_2 } from 'primereact/calendar';
import { ChangeEventHandler } from 'react';
import { CheckboxChangeEvent as CheckboxChangeEvent_2 } from 'primereact/checkbox';
import { ComponentType } from 'react';
import { ConfirmDialogProps } from 'primereact/confirmdialog';
import { FC } from 'react';
import { FocusEventHandler } from 'react';
import { ForwardRefExoticComponent } from 'react';
import { HTMLAttributeAnchorTarget } from 'react';
import { HTMLAttributes } from 'react';
import { InputHTMLAttributes } from 'react';
import { InputMaskProps } from 'primereact/inputmask';
import { InputSwitchChangeEvent } from 'primereact/inputswitch';
import { JSX as JSX_2 } from 'react/jsx-runtime';
import { JSXElementConstructor } from 'react';
import { ListBoxProps } from 'primereact/listbox';
import { MemoExoticComponent } from 'react';
import { MenuItem } from 'primereact/menuitem';
import { MouseEventHandler } from 'react';
import { MutableRefObject } from 'react';
import { PropsWithChildren } from 'react';
import { PropsWithoutRef } from 'react';
import { RadioButtonChangeEvent } from 'primereact/radiobutton';
import { default as React_2 } from 'react';
import * as React_3 from 'react';
import { ReactElement } from 'react';
import { ReactNode } from 'react';
import { RefAttributes } from 'react';
import { Select } from './Select';
import { SyntheticEvent } from 'react';
import { TabViewTabChangeEvent } from 'primereact/tabview';
import { TextareaHTMLAttributes } from 'react';
import { ToasterProps as ToasterProps_2 } from 'sonner';

declare type Action = typeof Actions.type;

export declare const ActionMenu: MemoExoticComponent<({ size, options, popup, actionMenuRef, radius, openSubmenuLeft, position, targetRef, ...props }: ActionMenuProps) => JSX_2.Element>;

export declare type ActionMenuProps = E_6 & {
    /**
     * Размер Action Menu
     * @type { 'sm' | 'md' }
     */
    size: 'sm' | 'md';
    /**
     * Вариант использования меню
     * @type { 'boolean }
         * @default false
         */
     popup: boolean;
     /**
      * useRef элемента меню
      * @type { MutableRefObject<null> }
      */
     actionMenuRef: MutableRefObject<null>;
     /**
      * Массив элементов меню
      */
     options?: ElementMenuProps[];
     /**
      * Радиус скругления
      * @type {'xxs'| 'xs' | 'sm' | 'md' | 'lg'}
      * @default 'xxs'
      */
     radius?: 'xxs' | 'xs' | 'sm' | 'md' | 'lg';
     /**
      * Открытие вложенного меню влево
      * @type { boolean }
      * @default false
      */
     openSubmenuLeft?: boolean;
     /**
      * Позиция монтирования компонента. Если не задано - по умолчанию
      * компонент будет монтироваться в document.body
      * @type { AppendToType }
      * @default document.body
      */
     appendTo?: AppendToType;
     /**
      * Позиционирование меню для popup={true}
      * @type { 'left' | 'right' }
      * @default 'left'
      */
     position?: 'left' | 'right';
     /**
      * targetRef элемента, который открывает ActionMenu при position !== 'left'
      * Данный пропс обязательный для position !== 'left'
      * @type { MutableRefObject<null> }
      */
     targetRef?: MutableRefObject<null>;
     /**
      * Событие фокуса на меню
      * @type { (e: React.SyntheticEvent) => void }
      */
     onFocus?: (e: React.SyntheticEvent) => void;
     /**
      * Событие blur для меню или закрытия Popup меню
      * @type { (e: React.SyntheticEvent) => void  }
      */
     onBlur?: (e: React.SyntheticEvent) => void;
     /**
      * Событие открытия Popup меню
      * @type { (e: React.SyntheticEvent) => void  }
      */
     onShow?: (e: React.SyntheticEvent) => void;
     /**
      * Событие закрытия Popup меню
      * @type { (e: React.SyntheticEvent) => void  }
      */
     onHide?: (e: React.SyntheticEvent) => void;
    };

    declare type ActionProps = {
        /**
         * Тип элемента ListItem
         */
        type: 'action';
        /**
         * Текст элемента action
         */
        text: string;
        /**
         * Иконка слева
         */
        icon?: IconName;
        /**
         * Состояние disabled
         */
        disabled?: boolean;
        /**
         * onClick
         */
        onClick?: () => void;
    };

    declare const Actions: {
        Slot: FC<{
            children?: ReactNode | undefined;
        }>;
        resolve: (children: ReactNode, extraProps?: Partial<{
            children?: ReactNode | undefined;
        }> | undefined) => ReactElement<{
            children?: ReactNode | undefined;
        }, string | JSXElementConstructor<any>> | null;
        type: ReactElement<{
            children?: ReactNode | undefined;
        }, FC<{
            children?: ReactNode | undefined;
        }>>;
    };

    export declare const ActionToast: ForwardRefExoticComponent<Omit<ActionToastProps, "ref"> & RefAttributes<ActionToastRefMethods>>;

    export declare type ActionToastProps = E_10 & {
        /**
         * Размер Action Toast
         * @type { 'sm' | 'md' }
         * @default 'sm'
         */
        size?: 'sm' | 'md';
        /**
         * Расположение Action Toast. Для custom необходимо определить координаты через ref
         * @type { 'top' | 'bottom' | 'custom' }
         * @default 'bottom'
         */
        location?: 'top' | 'bottom' | 'custom';
        /**
         * useRef элемента Action Toast
         * @type { MutableRefObject<null> }
         */
        ref: MutableRefObject<null>;
        /**
         * Массив элементов Action Toast
         */
        options: ElementActionToastProps[];
        /**
         * Пользовательские css классы для компонента Action Toast
         * @type { string }
         */
        className?: string;
        /**
         * Кнопка закрытия Action Toast
         * @type { boolean }
         * @default false
         */
        close?: boolean;
        /**
         * Управление расположением ActionToast
         * @type { boolean }
         * @default false
         */
        useTracking?: boolean;
        /**
         * Позиция монтирования компонента. Если не задано - по умолчанию
         * компонент будет монтироваться в document.body
         * @type { AppendToType }
         * @default document.body
         */
        appendTo?: AppendToType;
        /**
         * Расстояние от нижней или верхней части экрана
         * @type { 16 | 24 | 32 | 40 | 48 | 56 }
         * @default 24
         */
        offsetDisplay?: 16 | 24 | 32 | 40 | 48 | 56;
        /**
         * onRemove при закрытии ActionToast
         * @type { () => void }
         */
        onRemove?: () => void;
        /**
         * Кастомное позиционирование
         * @type {{ left: string, right: string }}
         */
        customPosition?: {
            /**
             * Отступ слева в px
             * @type { string }
             */
            left?: string;
            /**
             * Отступ справа в px
             * @type { string }
             */
            right?: string;
            /**
             * transform стили
             * @type { string }
             */
            transform?: string;
        };
    };

    declare type ActionToastRefMethods = {
        /**
         * Функция для управления состоянием Action Toast. При добавлении в toggle(e) event, - компонент будет позиционироваться относительно элемента, на котором произошло событие.
         * @type { (e?) => ref.current.toggle(e) }
             */
         toggle?: (e?: any) => void;
         /**
          * Функция для открытия Action Toast. При добавлении в toggle(e) event, - компонент будет позиционироваться относительно элемента, на котором произошло событие.
          * @type { (e?) => ref.current.show(e) }
              */
          show?: (e?: any) => void;
          /**
           * Функция для закрытия Action Toast
           * @type { () => ref.current.hide() }
               */
           hide?: () => void;
           /**
            * Функция для установки позиции Action Toast. Для использования данного метода требуется установить location='custom'
            * @type { (x: number, y: number) => ref.current.setPosition(x, y) }
                * @deprecated
                * @see customPosition
                */
            setPosition?: (x: number, y: number) => void;
            /**
             * Компонент Action Toast
             */
            getElement?: () => HTMLElement;
            /**
             * Состояние компонента ActionToast
             */
            visible?: () => boolean;
           };

           export declare function addToast({ title, description, duration, variant, actions, }: OptionsWithAction): string | number;

           export declare function addToasts(toasts: OptionsWithAction[]): (string | number)[];

           export declare const Alert: ForwardRefExoticComponent<AlertProps & RefAttributes<AlertRef>>;

           export declare type AlertProps = {
               /**
                * Заголовок
                * @type { string }
                */
               title?: string;
               /**
                * Текст - дополнительное описание
                * @type { string }
                */
               message?: string | ReactElement;
               /**
                * Тип алерта
                * @type {'success' | 'info' | 'warning' | 'error'}
                */
               severity: LiteralUnion<'success' | 'info' | 'warning' | 'error'>;
               /**
                * Параметры дополнительной кнопки
                */
               buttonProps?: Omit<ButtonProps, 'variant' | 'typeColor' | 'size'>;
               /**
                * Параметры ссылки
                */
               linkProps?: Pick<LinkTextProps, 'label' | 'target' | 'href'>;
               /**
                * Коллбэк при закрытии алерта
                */
               onClose?: (event: React.MouseEvent<HTMLButtonElement>) => void;
               /**
                * Дополнительные классы для обертки компонента
                */
               className?: string;
               /**
                * Настройка отображения/скрытия кнопки крестика в компоненте
                * @type { boolean }
                * @default true
                */
               buttonClose?: boolean;
           };

           declare interface AlertRef {
               getMessageElement: () => HTMLDivElement | null;
           }

           export declare const AutoComplete: ForwardRefExoticComponent<AutoCompleteProps & RefAttributes<unknown>>;

           /**
            * Группа выпадающего списка
            */
           declare interface AutoCompleteGroup {
               /**
                * Название группы
                * @type string
                */
               label?: string;
               /**
                * Элементы группы
                * @type AutoCompleteItem[]
                */
               items?: AutoCompleteItem[];
           }

           /**
            * Элемент выпадающего списка
            */
           export declare interface AutoCompleteItem {
               /**
                * Отображаемое название элемента
                * @type string
                */
               label?: string;
               /**
                * Ключ для элемента
                * @type string | number
                */
               value?: string | number;
               /**
                * Иконка для элемента из иконочного сета
                * @type string
                */
               icon?: string;
               /**
                * Подсказка для элемента
                * @type string
                */
               caption?: string;
               /**
                * Элемент заблокирован для выбора
                * @type boolean
                * @default false
                */
               disabled?: boolean;
               /**
                * Идентификатор элемента
                * @type string
                */
               id?: string;
           }

           /**
            * Элементы выпадающего списка
            */
           export declare type AutoCompleteOptions = AutoCompleteItem[] | AutoCompleteGroup[];

           /**
            * Свойства для AutoComplete
            */
           export declare interface AutoCompleteProps {
               /**
                * Значение для поля ввода
                * @type { string | AutoCompleteItem }
                */
               value: string | AutoCompleteItem | undefined;
               /**
                * Список предложений
                * @type { AutoCompleteOptions }
                */
               suggestions?: AutoCompleteOptions;
               /**
                * Список предложений в виде групп
                * @type { boolean }
                * @default false
                */
               group?: boolean;
               /**
                * Позиция выпадающего списка
                * @type 'bottom' | 'auto'
                * @default 'bottom'
                */
               menuPlacement?: 'bottom' | 'auto';
               /**
                * Заголовок для поля ввода
                * @type { string | undefined }
                * @default ''
                */
               label?: string;
               /**
                * Размер текстового поля
                * Для label внутри input используется только 'lg' и 'xl
                * @type {'sm' | 'md' | 'lg' | 'xl' }
                * @default 'lg'
                */
               size?: LiteralUnion<'sm' | 'md' | 'lg' | 'xl'>;
               /**
                * Подсказка к полю
                * @type { string }
                * @default ''
                */
               caption?: string;
               /**
                * Заполнение к полю
                * @type { string }
                * @default ''
                */
               placeholder?: string;
               /**
                * Неактивное поле
                * @type { boolean }
                * @default false
                */
               disabled?: boolean;
               /**
                * Обязательное поле (отображение знака *)
                * @type { boolean }
                * @default false
                */
               required?: boolean;
               /**
                * Ошибка валидации
                * @type { boolean }
                * @default false
                */
               error?: boolean;
               /**
                * Статус валидации "Обратить внимание"
                * @type { boolean }
                * @default false
                */
               warning?: boolean;
               /**
                * Успешная валидация
                * @type { boolean }
                * @default false
                */
               success?: boolean;
               /**
                * Расположение label
                * @type { 'inside' | 'top' }
                * @default 'inside'
                */
               labelPos?: 'inside' | 'top';
               /**
                * Метод поиска вариантов для автозаполнения по запросу
                * @param { query: string } строка из инпута
                    */
                completeMethod: ({ query: string }: {
                    query: any;
                }) => void;
                /**
                 * Событие изменения ввода текста
                 * @param value: строка или обьект AutoCompleteItem
                 */
                onChange?: (value: string | AutoCompleteItem) => void;
                /**
                 * Событие выбора элемента из списка
                 * @param value: AutoCompleteItem выбраннный элемент из списка
                 */
                onSelect?: (value: AutoCompleteItem) => void;
                /**
                 * Событие фокуса инпута
                 */
                onFocus?: () => void;
                /**
                 * Событие потери фокуса инпута
                 */
                onBlur?: () => void;
                /**
                 * Радиус скругления
                 * @type {'xxs'| 'xs' | 'sm' | 'md' | 'lg' | '2lg'}
                 */
                radius?: LiteralUnion<'xxs' | 'xs' | 'sm' | 'md' | 'lg' | '2lg'>;
                /**
                 * Иконка для Input left
                 * @type { string }
                 * @default ''
                 */
                iconLeft?: string;
                /**
                 * Иконка для Input right первая
                 * @type { string }
                 * @default ''
                 */
                iconRightFirst?: string;
                /**
                 * InputText ref
                 * @type { MutableRefObject<null> }
                 */
                inputTextRef?: MutableRefObject<null>;
                /**
                 * Placeholder для поля фильтра в списке
                 * @type { string }
                 * @default 'Поиск'
                 */
                filterInputPlaceholder?: string;
               }

               export declare const AutoSelect: ({ value, options, group, disabled, onChange, label, caption, placeholder, success, error, required, size, type, radius, menuPlacement, showDropdownOnFocus, }: AutoSelectProps) => JSX_2.Element;

               declare type AutoSelectInputProps = Pick<InputTextProps, 'size' | 'label' | 'disabled' | 'required' | 'error' | 'success' | 'placeholder'> & {
                   type?: LiteralUnion<'brand' | 'neutral'>;
                   radius?: LiteralUnion<'xxs' | 'xs' | 'sm' | 'md' | 'lg' | '2lg'>;
                   caption?: string;
               };

               export declare type AutoSelectProps = AutoSelectInputProps & SelectDropdownMenuProps_2 & {
                   /**
                    * Выбранное значение для выпадающего списка
                    */
                   value?: string;
                   /**
                    * Событие обновления значения выпадающего списка
                    * @param value: string ключ значения из списка
                    *
                    */
                   onChange?: (value: string) => void;
                   /**
                    * Позиция выпадающего списка
                    * @type 'bottom' | 'auto'
                    * @default 'bottom'
                    */
                   menuPlacement?: 'bottom' | 'auto';
                   /**
                    * Показывать dropdown при фокусе или только после ввода текста
                    * @type boolean
                    * @default true
                    */
                   showDropdownOnFocus?: boolean;
               };

               export declare const Avatar: ({ size, type, content, badge, label, caption, rounded, imageAlt, whiteBg, ...props }: AvatarProps) => JSX_2.Element | null;

               export declare type AvatarProps = {
                   /**
                    * Размер Avatar
                    * @type { 'xs' | 'sm' | 'md' | 'lg' }
                    * @default 'sm'
                    */
                   size?: LiteralUnion<'xs' | 'sm' | 'md' | 'lg'>;
                   /**
                    * Вариант компонента
                    * @type { 'text' | 'icon' | 'image' }
                    * @default 'text'
                    */
                   type?: 'text' | 'icon' | 'image';
                   /**
                    * Основной блок (текст, иконка или картинка)
                    * @type { string | IconName }
                    */
                   content: string | IconName;
                   /**
                    * Badge
                    * @type { boolean }
                    * @default false
                    */
                   badge?: boolean;
                   /**
                    * Label аватара
                    * @type { string }
                    */
                   label?: string;
                   /**
                    * Caption аватара
                    * @type { string }
                    */
                   caption?: string;
                   /**
                    * Круглый аватар
                    * @default false
                    */
                   rounded?: boolean;
                   /**
                    * Alt текст для картинки аватара с type='image'
                    */
                   imageAlt?: string;
                   /**
                    * Белый фон
                    * @type { boolean }
                    * @default false
                    */
                   whiteBg?: boolean;
                   /**
                    * Событие нажатия на аватар
                    * @type { Function }
                    */
                   onClickAvatar?: () => void;
               };

               export declare const Badge: (props: BadgeProps) => JSX_2.Element;

               export declare interface BadgeProps extends Omit<React_3.DetailedHTMLProps<React_3.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, 'ref'> {
                   /**
                    * Значение отображаемое внутри байджа.
                    */
                   value?: string | null;
                   /**
                    * Типа бейджа.
                    * @type {'neutral'  | 'brand'  |  'info'  | 'success' | 'warning'  |  'error'}
                    */
                   type: BadgeType;
                   /**
                    * Вариант бейджа.
                    * @type { 'dot' | 'soft' | 'solid' } // Новый варианты badge для APCA
                    */
                   variant: BadgeVariant;
                   /**
                    * Размер бейджа.
                    * @type {'sm' | 'md'}
                    */
                   size: BadgeSize;
                   /**
                    * Не активное отображение бейджа.
                    * @type { boolean }
                    * @default false
                    */
                   disabled?: boolean;
                   /**
                    * Радиус скругления
                    * @type {'xxs'| 'xs' | 'sm' | 'md' | 'lg'}
                    * @default 'lg'
                    */
                   radius?: LiteralUnion<'xxs' | 'xs' | 'sm' | 'md' | 'lg'>;
               }

               declare type BadgeSize = LiteralUnion<'sm' | 'md'>;

               declare type BadgeType = LiteralUnion<'neutral' | 'brand' | 'info' | 'success' | 'warning' | 'error'>;

               declare type BadgeVariant = LiteralUnion<'dot' | 'soft' | 'solid'>;

               declare type BaseGroupButtonProps = {
                   /**
                    * Размер кнопки (например, 'sm', 'md', 'lg', 'xl')
                    */
                   size: 'sm' | 'md' | 'lg' | 'xl';
                   variant: Pick<ButtonProps, 'variant'>;
                   typeColor: Pick<ButtonProps, 'typeColor'>;
               };

               declare type BaseProps = {
                   /**
                    * Размер
                    */
                   size: 'sm' | 'md';
                   /**
                    * Кастомные стили для компонента
                    */
                   className?: string;
               };

               export declare const BottomSheet: ({ label, subtitle, footer, children, open, visibleHeader, headerTemplate, openMaxHeight, setOpen, checkMaxHeight, classNames, }: BottomSheetProps) => JSX_2.Element;

               export declare type BottomSheetProps = {
                   /**
                    * Заголовок BottomSheet
                    * @type {string}
                    * @default ''
                    */
                   label: string;
                   /**
                    * Подзаголовок BottomSheet
                    * @type {string}
                    * @default ''
                    */
                   subtitle?: string;
                   /**
                    * Дочерние компоненты или текстовая строка
                    * @type {React.ReactElement | string}
                    */
                   children: React.ReactElement | string;
                   /**
                    * Состояние BottomSheet
                    * @type { boolean }
                    * @default false
                    */
                   open: boolean;
                   /**
                    * Дополнительный header template
                    * @type {React.ReactElement | string}
                    */
                   headerTemplate?: React.ReactElement | string;
                   /**
                    * Header в BottomSheet
                    * @type { boolean }
                    */
                   visibleHeader?: boolean;
                   /**
                    * Окрыть по умолчанию BottomSheet на 100%
                    * @type { boolean }
                    * @default false
                    */
                   openMaxHeight?: boolean;
                   /**
                    * Функция для изменения состояния BottomSheet
                    */
                   setOpen: (value: boolean) => void;
                   /**
                    * Передача кастомного элемента для отображение в футере.
                    */
                   footer?: ReactNode;
                   /**
                    * Функция которая возвращает true, если BottomSheet открыт на 100%
                    */
                   checkMaxHeight?: (isMaxHeight: boolean) => void;
                   /**
                    * Кастомные классы
                    */
                   classNames?: {
                       /**
                        * Доп. классы для children wrapper
                        */
                       childrenWrapper?: string;
                       headerWrapper?: string;
                       /**
                        * Доп. классы для footer wrapper
                        */
                       footerWrapper?: string;
                   };
               };

               export declare const Breadcrumb: (props: BreadcrumbProps) => JSX_2.Element;

               export declare type BreadcrumbMenuItem = MenuItem & {
                   /**
                    * Является ли элемент меню выбранным
                    * @type { boolean }
                    * @default false
                    */
                   selected?: boolean;
                   /**
                    * Является ли элемент кнопкой для выпадающего меню
                    * @type { boolean }
                    * @default false
                    */
                   isOverflowMenu?: boolean;
               };

               export declare type BreadcrumbProps = {
                   /**
                    * Класс root элемента
                    * @type { string }
                    * @default undefined
                    */
                   className?: string;
                   /**
                    * Корневой элемент хлебных крошек
                    * @type { BreadcrumbMenuItem }
                    */
                   home?: BreadcrumbMenuItem;
                   /**
                    * Массив элементов хлебных крошек
                    * @type { BreadcrumbMenuItem[] }
                    * @default []
                    */
                   model?: BreadcrumbMenuItem[];
                   /**
                    * Временная задержка в мс при закрытии Tooltip, открытого наведением курсора на элемент
                    * @type { number }
                    */
                   enterHoverDelay?: number;
               };

               declare type Breakpoints = {
                   /**
                    * Количество колонок при ширине экрана 360 - 767px. Максимальное количество - 8
                    * @type { CountCol_8 }
                    */
                   xs: CountCol_8;
                   /**
                    * Количество колонок при ширине экрана 768 - 1023px. Максимальное количество - 12
                    * @type { CountCol_12 }
                    */
                   sm: CountCol_12;
                   /**
                    * Количество колонок при ширине экрана 1024 - 1439px. Максимальное количество - 12
                    * @type { CountCol_12 }
                    */
                   md?: CountCol_12;
                   /**
                    * Количество колонок при ширине экрана 1440 - 1599px. Максимальное количество - 12
                    * @type { CountCol_12 }
                    */
                   lg?: CountCol_12;
                   /**
                    * Количество колонок при ширине экрана 1600 + px. Максимальное количество - 12
                    * @type { CountCol_12 }
                    */
                   xl?: CountCol_12;
               };

               declare const BTextContainer: ForwardRefExoticComponent<SharedTooltipProps & {
                   children: string | React.ReactElement;
                   className?: string;
                   style?: React.CSSProperties;
                   type?: "width" | "length" | "showAlways" | "lineClamp";
                   stringLength?: number;
                   lineClampCount?: number;
                   dependencies?: Array<string | number | boolean>;
                   classNames?: BTextContainerClassNames;
               } & RefAttributes<HTMLDivElement>>;
               export { BTextContainer }
               export { BTextContainer as TruncatedText }

               /**
                * Слоты для точечной настройки стилей (Slots Pattern)
                */
               declare type BTextContainerClassNames = {
                   /** Корневой элемент */
                   base?: string;
                   /** Элемент с текстом (p) */
                   text?: string;
               };

               /**
                * Входные параметры для компонента BTextContainer
                */
               declare type BTextContainerProps = SharedTooltipProps & {
                   /**
                    * Текст, который необходимо обернуть в контейнер.
                    * ReactElement используется только для параметра type='showAlways'.
                    * При использование для параметра type='width'|'length', компонент будет работать с ошибкой
                    * @type { string | React.ReactElement}
                    */
                   children: string | React.ReactElement;
                   /**
                    * Класс children элемента
                    * @type { string }
                    * @default undefined
                    */
                   className?: string;
                   /**
                    * Стили для children элемента
                    * @type { React.CSSProperties }
                    */
                   style?: React.CSSProperties;
                   /**
                    * Тип контейнера для текста. По ширине блока, по количеству символов в стороке или всегда показывать Tooltip для текста
                    * @type { 'width' | 'length' | 'showAlways' | 'lineClamp' }
                    * @default 'width'
                    */
                   type?: 'width' | 'length' | 'showAlways' | 'lineClamp';
                   /**
                    * Длина допустимого текста. Данный параметр используется для type = 'length'
                    * @type { number }
                    */
                   stringLength?: number;
                   /**
                    * Количество строк. Данный параметр используется для type = 'lineClamp'
                    * @type { number }
                    * @default 2
                    */
                   lineClampCount?: number;
                   /**
                    * Массив зависимостей, которые управляют отображением тултипа
                    * @type { Array<string | number | boolean> }
                    */
                   dependencies?: Array<string | number | boolean>;
                   /**
                    * Точечная настройка стилей по слотам
                    * @type { BTextContainerClassNames }
                    */
                   classNames?: BTextContainerClassNames;
               };
               export { BTextContainerProps }
               export { BTextContainerProps as TruncatedTextProps }

               export declare const Button: ({ variant, size, label, icon, iconPos, loading, href, target, style, badgeLabel, radius, typeColor, iconColor, isActive, startContent, endContent, ...props }: ButtonProps) => JSX_2.Element;

               export declare type ButtonProps = E & {
                   /**
                    * Текст кнопки.
                    * @type { string | ReactElement}
                    */
                   label?: string | ReactElement;
                   /**
                    * Размер кнопки.
                    * @type {'sm' | 'md' | 'lg' | 'xl'}
                    * @default 'md'
                    */
                   size?: LiteralUnion<'sm' | 'md' | 'lg' | 'xl'>;
                   /**
                    * Вариант кнопки.
                    * @type {'solid' | 'soft' | 'outline' | 'ghost'}
                    * @default 'solid'
                    */
                   variant?: LiteralUnion<'solid' | 'soft' | 'outline' | 'ghost'>;
                   /**
                    * Имя кнопки из иконочного сета
                    * @type { JSX.Element }
                    * @default ''
                    */
                   icon?: IconName;
                   /**
                    * Позиция иконки в кнопке. Применяется когда установлено свойство icon.
                    * @type { 'left' | 'right' }
                    * @default left
                    */
                   iconPos?: LiteralUnion<'left' | 'right'>;
                   /**
                    * Отображать иконку загрузки и перевести кнопку в состояние загрузка
                    * @default false
                    */
                   loading?: boolean;
                   /**
                    * Элемент в состоянии не активный
                    * @default false
                    */
                   disabled?: boolean;
                   /**
                    * Применить закругление у кнопки.
                    * @default false
                    */
                   rounded?: boolean;
                   /**
                    * Ссылка для перехода при нажатии
                    * @default undefined
                    */
                   href?: string;
                   /**
                    * target атрибут для ссылок
                    * @default _self
                    */
                   target?: HTMLAttributeAnchorTarget;
                   /**
                    * Label Бейджик в кнопке.
                    * @type { string }
                    */
                   badgeLabel?: string;
                   /**
                    * Радиус скругления. По умолчанию radius для 'sm' = 8px, 'md' и 'lg' = 12px, 'xl' = 16px
                    * @type {'xxs'| 'xs' | 'sm' | 'md' | 'lg' | 'xl'}
                    */
                   radius?: LiteralUnion<'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'>;
                   /**
                    * Тип кнопки
                    * @type {'brand' | 'neutral' | 'info' | 'success' | 'warning' | 'error'}
                    * @default 'brand'
                    */
                   typeColor?: LiteralUnion<'brand' | 'neutral' | 'info' | 'success' | 'warning' | 'error'>;
                   /**
                    * Кастомный токен цвета для иконки в кнопке. по умолчанию цвет иконки и цвет текста одинаковые
                    * @type { ColorToken }
                    */
                   iconColor?: ColorToken;
                   /**
                    * Если true - имитируется нажатие на кнопки. Полезно, когда необходимо показать, что кнопка активна (без участия пользователя)
                    */
                   isActive?: boolean;
                   /**
                    * Children для компонента Button
                    * @deprecated Use 'startContent' or 'endContent'
                    * @see startContent
                    */
                   children?: ReactNode;
                   /**
                    * Дополнительный контент для кнопки слева
                    */
                   startContent?: ReactNode;
                   /**
                    * Дополнительный контент для кнопки справа
                    */
                   endContent?: ReactNode;
               };

               export declare const ButtonScrollTop: (props: ButtonScrollTopProps) => JSX_2.Element;

               export declare interface ButtonScrollTopProps {
                   /**
                    * Размер кнопки.
                    * @type {'md' | 'lg' | 'xl'}
                    * @default 'md'
                    */
                   size?: LiteralUnion<'md' | 'lg' | 'xl'>;
                   /**
                    * Тип кнопки
                    * @type {'brand' | 'neutral'}
                    * @default 'neutral'
                    */
                   typeColor?: LiteralUnion<'brand' | 'neutral'>;
                   /**
                    * Применить закругление у кнопки.
                    * @default false
                    */
                   rounded?: boolean;
                   /**
                    * Target элемента
                    * При target = 'parent-footer', для контейнера необходимо добавить класс relative
                    * @type { 'window' | 'parent' | 'parent-footer' }
                    * @default 'window'
                    */
                   target?: 'window' | 'parent' | 'parent-footer';
                   /**
                    * Значение скролла в пикселях, после которого появляется кнопка
                    * @type { number }
                    * @default 400
                    */
                   scrollValueY?: number;
                   /**
                    * Расположение кнопки
                    * @default bottom: 24, right: 24
                    */
                   buttonPosition?: {
                       bottom?: number;
                       right?: number;
                   };
               }

               export declare const Calendar: ForwardRefExoticComponent<CalendarProps & RefAttributes<CalendarRef>>;

               export declare const CalendarCard: (props: CalendarCardProps) => JSX_2.Element;

               export declare type CalendarCardProps = {
                   /**
                    * Тип карточки
                    * @type { 'moex' | 'nsd' }
                    */
                   type: 'moex' | 'nsd';
                   /**
                    * Дата события/мероприятия
                    * @type { Date }
                    */
                   date: Date;
                   /**
                    * Текст для варианта события
                    * @type { string }
                    */
                   typeEventText?: string;
                   /**
                    * Заголовок события
                    * @type { string }
                    */
                   headingText: string;
                   /**
                    * Место проведения события
                    * @type { string }
                    */
                   locationText?: string;
                   /**
                    * Rounded карточки
                    * @type { 'none' | 'left' | 'right' | 'top' | 'bottom' | 'lowerLeft' | 'lowerRight' | 'upperLeft' | 'upperRight' | 'full' }
                    * @default 'none'
                    */
                   rounded?: 'none' | 'left' | 'right' | 'top' | 'bottom' | 'lowerLeft' | 'lowerRight' | 'upperLeft' | 'upperRight' | 'full';
                   /**
                    * Текст кнопки
                    * @type { string }
                    */
                   buttonText: string;
                   /**
                    * Локализация
                    * @type { 'ru' | 'en' }
                    * @default 'ru'
                    */
                   locale?: 'ru' | 'en';
                   /**
                    * Дополнительные классы для контейнера карточки
                    * @type { string }
                    */
                   className?: string;
                   /**
                    * Предварительная дата мероприятия
                    * @type { boolean }
                    * @default false
                    */
                   preDate?: boolean;
                   /**
                    * Текст для предварительной даты мероприятия
                    * @type { string }
                    * @default 'Дата предварительная'
                    */
                   preDateText?: string;
                   /**
                    * Событие клика по карточке
                    * @type { () => void }
                    */
                   onClick?: () => void;
               };

               export declare type CalendarProps = CalendarProps_2 & {
                   label?: string;
                   /**
                    * Обновление локали компонента календарь
                    * Динамическое обновление локали не поддерживается. Необходимо удалить исходный компонент и создать новый с необходимыми параметрами
                    * Для обновление локализации лучше использовать пропс language в провайдере
                    * @type { 'ru' | 'en' }
                    */
                   locale?: Locale;
                   inline?: boolean;
                   /**
                    * Показывать input для ввода даты в режиме inline
                    */
                   showInlineInput?: boolean;
                   showButtonBar?: boolean;
                   showTime?: boolean;
                   hideDays?: boolean;
                   showSeconds?: boolean;
                   disabled?: boolean;
                   labelPos?: 'inside' | 'top';
                   onChange?: (value: {
                       value: Date | Date[] | null | null[] | undefined;
                   }) => void;
                   required?: InputTextMaskProps['required'];
                   inputSize?: InputTextMaskProps['size'];
                   inputCaption?: InputTextMaskProps['caption'];
                   inputSuccess?: InputTextMaskProps['success'];
                   inputError?: InputTextMaskProps['error'];
                   /**
                    * Если передано значение true - календарь будет открыт
                    * в компоненте BottomSheet, полезно для работы с маленькими экранами (мобильный, планшет)
                    */
                   openInBottomSheet?: boolean;
                   /**
                    * Доп. классы для BottomSheet
                    */
                   bottomSheetClassNames?: BottomSheetProps['classNames'];
                   /**
                    * Если передано значение true - значнеие даты нельзя вводить через клавиатуру
                    */
                   readOnlyInput?: boolean;
                   /**
                    * Регистр текстовой маски для календаря
                    * Динамическое обновление регистра текстовой маски не поддерживается. Необходимо удалить исходный компонент и создать новый с необходимыми параметрами
                    * @type { 'lowerCase' | 'upperCase' }
                    * @default 'upperCase'
                    */
                   maskCase: LiteralUnion<'lowerCase' | 'upperCase'>;
                   minDate?: Date;
                   maxDate?: Date;
                   /**
                    * Позиция монтирования компонента календаря в режиме inline === false. Если не задано - по умолчанию
                    * компонент будет монтироваться в document.body
                    * @type { AppendToType }
                    * @default document.body
                    */
                   appendTo?: AppendToType;
               };

               export declare type CalendarRef = {
                   getElement: () => HTMLElement;
                   getCalendarElementRef: () => HTMLElement;
               };

               declare interface Callback {
                   /**
                    * Событие нажатия
                    * @param event
                    */
                   onClick?: (event: React_2.SyntheticEvent<HTMLAnchorElement>) => void;
               }

               declare type Callbacks = Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'name' | 'placeholder' | 'onChange' | 'onFocus' | 'onBlur' | 'onClick'>;

               declare type Callbacks_2 = Pick<TextareaHTMLAttributes<HTMLTextAreaElement>, 'id' | 'name' | 'placeholder' | 'onChange' | 'onFocus' | 'onBlur' | 'onClick'>;

               declare type Callbacks_3 = Pick<InputHTMLAttributes<HTMLInputElement>, 'onChange'>;

               declare type Callbacks_4 = Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'name' | 'placeholder' | 'onChange' | 'onFocus' | 'onBlur' | 'onClick'>;

               declare type Callbacks_5 = Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'name' | 'placeholder' | 'onFocus' | 'onBlur' | 'onClick'>;

               export declare const Checkbox: (props: CheckboxProps) => JSX_2.Element;

               /**
                * Тип события onChange для компонента Checkbox
                */
               export declare type CheckboxChangeEvent = Partial<CheckboxChangeEvent_2>;

               export declare const CheckboxGroup: (props: CheckboxGroupProps) => JSX_2.Element;

               export declare type CheckboxGroupItem = CheckboxItem;

               /**
                * Api CheckboxGroup
                */
               export declare type CheckboxGroupProps = {
                   label?: string;
                   caption?: string;
                   options: CheckboxItem[];
                   values: string[];
                   /**
                    * @default 'md'
                    */
                   size?: LiteralUnion<'md' | 'lg'>;
                   /**
                    * @type { 'left' | 'right' }
                    * @default 'right'
                    */
                   tooltipIcon?: 'left' | 'right';
                   /**
                    * Состояние Error для CheckBox Group
                    * @type { boolean }
                    * @default false
                    */
                   error?: boolean;
                   /**
                    * Элементы группы в состоянии не активный
                    * @type { boolean }
                    */
                   disabled?: boolean;
                   onChange?: (selectedItems: CheckboxChangeEvent) => void;
               };

               declare type CheckboxItem = {
                   value: string;
                   subItems?: CheckboxItem[];
               } & CheckboxProps;

               export declare type CheckboxProps = {
                   /** Checkbox */
                   /**
                    * @default true
                    */
                   animation?: boolean;
                   /**
                    * @default 'md'
                    */
                   size?: LiteralUnion<'md' | 'lg'>;
                   /**
                    * @default false
                    */
                   disabled?: boolean;
                   label?: string;
                   caption?: string;
                   /**
                    * @default false
                    */
                   accesabilityHover?: boolean;
                   /**
                    * @default false
                    */
                   checked?: boolean;
                   /**
                    * @default false
                    */
                   isIndeterminate?: boolean;
                   /**
                    * @type { 'left' | 'right' }
                    * @default 'right'
                    */
                   tooltipIcon?: 'left' | 'right';
                   /** Tooltip */
                   /**
                    * @default 'sm'
                    */
                   sizeTooltip?: SharedTooltipProps['sizeTooltip'];
                   labelTooltip?: SharedTooltipProps['labelTooltip'];
                   /**
                    * @default 'top'
                    */
                   locationTooltip?: SharedTooltipProps['locationTooltip'];
                   /**
                    * @default true
                    */
                   directionTooltip?: SharedTooltipProps['directionTooltip'];
                   contrastTooltip?: SharedTooltipProps['contrastTooltip'];
                   enterHoverDelayTooltip?: SharedTooltipProps['enterHoverDelay'];
                   /** Popover */
                   titlePopover?: SharedPopoverProps['titlePopover'];
                   subTitlePopover?: SharedPopoverProps['subTitlePopover'];
                   /**
                    * @default top
                    */
                   locationPopover?: SharedPopoverProps['locationPopover'];
                   childrenPopover?: SharedPopoverProps['childrenPopover'];
                   labelButtonPopover?: SharedPopoverProps['labelButtonPopover'];
                   iconButtonPopover?: SharedPopoverProps['iconButtonPopover'];
                   iconPosButtonPopover?: SharedPopoverProps['iconPosButtonPopover'];
                   loadingButtonPopover?: SharedPopoverProps['loadingButtonPopover'];
                   disabledButtonPopover?: SharedPopoverProps['disabledButtonPopover'];
                   onClickButtonPopover?: () => void;
                   labelLinkPopover?: SharedPopoverProps['labelLinkPopover'];
                   hrefPopover?: SharedPopoverProps['hrefPopover'];
                   targetPopover?: SharedPopoverProps['targetPopover'];
                   buttonClosePopover?: SharedPopoverProps['buttonClosePopover'];
                   /**
                    * Позиция монтирования компонента Tooltip или Popover. Если не задано - по умолчанию
                    * компонент будет монтироваться в document.body
                    * @type { AppendToType }
                    * @default document.body
                    */
                   appendTo?: AppendToType;
                   /** Handlers */
                   onChange?: (event: CheckboxChangeEvent) => void;
                   /**
                    * Не валидное состояние у кнопки
                    * @type { boolean }
                    * @default false
                    */
                   error?: boolean | undefined;
               } & Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>;

               export declare const Chip: ({ size, label, badge, icon, iconActive, clear, avatar, disabled, active, onClick, onClear, className, type, variant, radiusBadge, widthRestrict, ...props }: ChipProps) => false | JSX_2.Element;

               export declare const ChipGroup: ({ value, multiple, size, sizeTooltip, locationTooltip, directionTooltip, contrastTooltip, options, onClick, type, variant, radiusBadge, widthRestrict, spacing, }: ChipGroupProps) => JSX_2.Element;

               declare type ChipGroupOptions = Omit<ChipProps, 'size' | 'sizeTooltip' | 'locationTooltip' | 'labelTooltip' | 'directionTooltip' | 'contrastTooltip' | 'type' | 'variant' | 'radiusBadge' | 'widthRestrict'>;

               export declare type ChipGroupProps = SharedTooltipProps & {
                   /**
                    * Значение выбранного значения или выбранных значений в группе.
                    * @type { string | string[] }
                    */
                   value?: string | string[];
                   /**
                    * Размер Chip в группе.
                    * @type { 'md' | 'lg' }
                    * @default 'md'
                    */
                   size?: LiteralUnion<'md' | 'lg'>;
                   /**
                    * Элементы группы.
                    * @type { ChipGroupOptions[] }
                    * @default '[]'
                    */
                   options: ChipGroupOptions[];
                   /**
                    * Вариант выбора в группе компонентов Chip
                    * @type { boolean }
                    * @default false
                    */
                   multiple?: boolean;
                   /**
                    * Функция для управления состоянием Chip
                    * @param { string } id - значение ChipId
                    * @type { Function }
                    */
                   onClick?: (id: string) => void;
                   /**
                    * Тип Chip
                    * @type {'neutral' | 'brand' | 'info' | 'success' | 'warning' | 'error' | 'primary' | 'inverted'}
                    * @default 'neutral'
                    */
                   type?: LiteralUnion<'neutral' | 'brand' | 'info' | 'success' | 'warning' | 'error' | 'primary' | 'inverted'>;
                   /**
                    * Вариант Chip.
                    * @type {'soft' | 'outline'}
                    * @default 'soft'
                    */
                   variant?: LiteralUnion<'soft' | 'outline'>;
                   /**
                    * Радиус скругления для Badge
                    * @type { 'xxs'|'xs'|'sm'|'md'|'lg' }
                    */
                   radiusBadge?: LiteralUnion<'xxs' | 'xs' | 'sm' | 'md' | 'lg'>;
                   /**
                    * Ограничения ширины Chip по правилам ЕДС
                    * @type { boolean }
                    * @default true
                    */
                   widthRestrict?: boolean;
                   /**
                    * Расстояние между элементами (значение токена)
                    * @type { string }
                    * @default 0250
                    */
                   spacing?: string;
               };

               export declare type ChipProps = SharedTooltipProps & {
                   /**
                    * id компонента Chip
                    * @type { string }
                    * @default ''
                    */
                   id: string;
                   /**
                    * Размер элемента Chip
                    * @type { 'md' | 'lg' }
                    * @default 'md'
                    */
                   size?: LiteralUnion<'md' | 'lg'>;
                   /**
                    * Текст в элементе Chip
                    * @type { string }
                    */
                   label: string;
                   /**
                    * Текст бейджика
                    * @type { string | undefined }
                    * @default ''
                    */
                   badge?: string;
                   /**
                    * Иконка слева из иконочного сета
                    * @type { JSX.Element }
                    * @default false
                    */
                   icon?: IconName | undefined;
                   /**
                    * Использовать иконку только в состоянии active
                    * @type { boolean | undefined }
                    * @default false
                    */
                   iconActive?: boolean;
                   /**
                    * Использовать иконку удаления чипса
                    * @type { boolean }
                    */
                   clear: boolean;
                   /**
                    * Функция, которая выполняется при удалении чипса.
                    * @type { Function }
                    */
                   onClear?: () => void;
                   /**
                    * Использовать аватар в Chip
                    * @type { string | undefined }
                    * @default ''
                    */
                   avatar?: string;
                   /**
                    * Элемент в состоянии не активный
                    * @type { boolean | undefined }
                    * @default false
                    */
                   disabled?: boolean;
                   /**
                    * Состояние компонента Chip
                    * @type { boolean }
                    * @default false
                    */
                   active?: boolean;
                   /**
                    * Функция для изменения состояния компонента Chip
                    * @type { Function }
                    */
                   onClick?: () => void;
                   /**
                    * Тип Chip
                    * @type {'neutral' | 'brand' | 'info' | 'success' | 'warning' | 'error' | 'primary' | 'inverted'}
                    * @default 'neutral'
                    */
                   type?: LiteralUnion<'neutral' | 'brand' | 'info' | 'success' | 'warning' | 'error' | 'primary' | 'inverted'>;
                   /**
                    * Вариант Chip.
                    * @type {'soft' | 'outline'}
                    * @default 'soft'
                    */
                   variant?: LiteralUnion<'soft' | 'outline'>;
                   /**
                    * Радиус скругления для Badge
                    * @type { 'xxs'|'xs'|'sm'|'md'|'lg' }
                    * @default
                    */
                   radiusBadge?: LiteralUnion<'xxs' | 'xs' | 'sm' | 'md' | 'lg'>;
                   /**
                    * Ограничения ширины Chip по правилам ЕДС
                    * @type { boolean }
                    * @default true
                    */
                   widthRestrict?: boolean;
                   /**
                    * Класс компонента
                    * @type { string | undefined }
                    * @default undefined
                    */
                   className?: string;
               };

               export declare const ChipsFilter: (props: ChipsFilterProps) => JSX_2.Element;

               export declare type ChipsFilterOptions = {
                   /**
                    * id елемента
                    * @type { string }
                    */
                   id: string;
                   /**
                    * value опции.
                    * Дополнение: в массиве Array<string | null> null используется только для диапазона дат
                    * @type { string | Array<string | null> }
                    */
                   value: string | Array<string>;
               };

               export declare type ChipsFilterProps = {
                   /**
                    * Размер компонентов Chip
                    * @type { 'md' | 'lg' }
                    * @default 'md'
                    */
                   size?: 'md' | 'lg';
                   /**
                    * Список опций
                    * @type { Array<ChipsFilterOptions> }
                    * @default 'Дата предварительная'
                    */
                   options: Array<ChipsFilterOptions>;
                   /**
                    * Использовать divider для разделения опций
                    * @type { boolean }
                    * @default true
                    */
                   divider?: boolean;
                   /**
                    * Расстояние между элементами (значение токена)
                    * @type { '0125' | '0250' | '0375' | '0500' | '0625' | '0750' | '0875' | '1000' }
                    * @default '0250'
                    */
                   spacing?: '0125' | '0250' | '0375' | '0500' | '0625' | '0750' | '0875' | '1000';
                   /**
                    * Показывать счётчик. Элементы расположены в одну строку
                    * @type { boolean }
                    * @default true
                    */
                   visibleCounterChip?: boolean;
                   /**
                    * onChange обновления списка опций
                    * @type { (item: ChipsFilterOptions[]) => void }
                    */
                   onChange: (item: ChipsFilterOptions[]) => void;
               };

               export declare function clearToasts(): void;

               export declare const Col: ({ type, layoutType, breakpoints, offsets, offsetsRight, children, ...attributes }: ColProps) => JSX_2.Element;

               export declare const Collapse: ForwardRefExoticComponent<CollapseProps & RefAttributes<unknown>>;

               declare interface CollapseCallbacks {
                   /**
                    * Обработчик изменения значения.
                    * @type {Event}
                    */
                   onTabChange?: Event_2;
                   /**
                    * Событие закрытия вкладки.
                    * Вызывается, когда элемент коллапса закрывается.
                    * @type {Event}
                    */
                   onTabClose?: Event_2;
                   /**
                    * Событие открытия вкладки.
                    * Вызывается, когда элемент коллапса открывается.
                    * @type {Event}
                    */
                   onTabOpen?: Event_2;
               }

               declare interface CollapseCallbacks_2 {
                   /**
                    * Обработчик изменения значения.
                    * @type {Event}
                    */
                   onTabChange?: Event_4;
                   /**
                    * Событие закрытия вкладки.
                    * Вызывается, когда элемент коллапса закрывается.
                    * @type {Event}
                    */
                   onTabClose?: Event_4;
                   /**
                    * Событие открытия вкладки.
                    * Вызывается, когда элемент коллапса открывается.
                    * @type {Event}
                    */
                   onTabOpen?: Event_4;
               }

               /**
                * Тип, представляющий событие изменения вкладки в компоненте Collapse.
                *
                * CollapseEvent является синонимом AccordionTabChangeEvent и используется для
                * обработки событий, связанных с изменением состояния вкладок в компоненте коллапса.
                * Это может включать открытие или закрытие одной или нескольких вкладок.
                *
                * @type {AccordionTabChangeEvent}
                */
               export declare type CollapseEvent = AccordionTabChangeEvent;

               /**
                * Тип, представляющий событие изменения вкладки в компоненте Collapse.
                *
                * CollapseEvent является синонимом AccordionTabChangeEvent и используется для
                * обработки событий, связанных с изменением состояния вкладок в компоненте коллапса.
                * Это может включать открытие или закрытие одной или нескольких вкладок.
                *
                * @type {AccordionTabChangeEvent}
                */
               declare type CollapseEvent_2 = AccordionTabChangeEvent;

               export declare const CollapseGhost: ForwardRefExoticComponent<CollapseGhostProps & RefAttributes<CollapseGhostMethods>>;

               export declare type CollapseGhostEvent = CollapseEvent_2;

               export declare type CollapseGhostMethods = {
                   getElement: () => HTMLElement | undefined;
                   /**
                    * Метод для программного открытия коллапса
                    */
                   openCollapse: () => void;
                   /**
                    * Метод для программного закрытия коллапса
                    */
                   closeCollapse: () => void;
               };

               export declare interface CollapseGhostProps extends CollapseCallbacks_2 {
                   /**
                    * Заголовок группы компонента Collapse
                    * @type { string }
                    */
                   header: string;
                   /**
                    * Состояние disabled
                    * @type { boolean }
                    */
                   disabled?: boolean;
                   /**
                    * Опции элемента коллапса.
                    * Содержит массив объектов, определяющих заголовок, контент и дополнительные параметры для каждого элемента коллапса.
                    * @type {CollapseOptionProps[]}
                    */
                   options: CollapseOptionProps_2[];
                   /**
                    * Индекс активного таба.
                    * Определяет, какой из элементов коллапса в данный момент открыт. Может быть числом, массивом чисел или отсутствовать.
                    * @type {null | undefined | number | number[]}
                    */
                   activeIndex?: null | undefined | number | number[];
                   /**
                    * Множественный выбор.
                    * Если установлено в true, позволяет открывать несколько элементов коллапса одновременно.
                    * @type {boolean | undefined}
                    */
                   multiple?: boolean | undefined;
                   /**
                    * Размер.
                    * Определяет размер компонента коллапса. Значение по умолчанию — 'md'.
                    * @type {'sm' | 'md' | 'lg'}
                    * @default 'md'
                    */
                   size?: 'sm' | 'md' | 'lg';
                   /**
                    * Свойства кнопки 1
                    */
                   actionButtonPropsFirst?: Omit<ButtonProps, 'size' | 'variant'>;
                   /**
                    * Свойства кнопки 2
                    */
                   actionButtonPropsSecond?: Omit<ButtonProps, 'size' | 'variant'>;
                   /**
                    * Позиция иконки expand/collapse.
                    * @type {boolean}
                    */
                   iconPosition?: 'left' | 'right';
                   /**
                    * Свойство для рендера пользовательского контента в коллапс.
                    * Если определен данный элемент опции коллапса НЕ рендерятся.
                    */
                   customContent?: ReactElement | (() => ReactElement);
               }

               declare type CollapseOptionProps = {
                   /**
                    * Заголовок, описывающий краткое содержание скрытого контента.
                    * @type {string}
                    */
                   header: string;
                   /**
                    * Скрытый контент.
                    * @type {React.ReactNode}
                    */
                   content: React.ReactNode;
                   /**
                    * Статусное уведомление.
                    * @type {string}
                    */
                   badge?: string;
                   /**
                    * Вариант статусного уведомления
                    * @type {string}
                    */
                   badgeType?: BadgeProps['type'];
                   /**
                    * Tag для Collpase. При одновременном использовании badge и tag, приоритет badge выше
                    * @type { label: TagProps['label']; icon?: TagProps['icon']; type?: TagProps['type'] }
                        */
                    tag?: {
                        label: TagProps['label'];
                        icon?: TagProps['icon'];
                        type?: TagProps['type'];
                    };
                    /**
                     * Заблокированный элемент.
                     * @type {boolean}
                     */
                    disabled?: boolean;
                    /**
                     * Свойства switcher
                     * При одновременном использовании actionButtonProps и switcherProps, приоритет у actionButtonProps выше
                     * onChange: (index: number) => void
                     */
                    switcherProps?: Omit<SwitcherProps, 'id' | 'size' | 'type' | 'caption' | 'icon'>;
                   };

                   declare type CollapseOptionProps_2 = {
                       /**
                        * Заголовок, описывающий краткое содержание скрытого контента.
                        * @type {string}
                        */
                       header: string;
                       /**
                        * Скрытый контент.
                        * @type {React.ReactNode}
                        */
                       content: React.ReactNode;
                       /**
                        * Статусное уведомление.
                        * @type {string}
                        */
                       badge?: string;
                       /**
                        * Заблокированный элемент.
                        * @type {boolean}
                        */
                       disabled?: boolean;
                   };

                   export declare interface CollapseProps extends CollapseCallbacks {
                       /**
                        * Опции элемента коллапса.
                        * Содержит массив объектов, определяющих заголовок, контент и дополнительные параметры для каждого элемента коллапса.
                        * @type {CollapseOptionProps[]}
                        */
                       options: CollapseOptionProps[];
                       /**
                        * Индекс активного таба.
                        * Определяет, какой из элементов коллапса в данный момент открыт. Может быть числом, массивом чисел или отсутствовать.
                        * @type {null | undefined | number | number[]}
                        */
                       activeIndex?: null | undefined | number | number[];
                       /**
                        * Множественный выбор.
                        * Если установлено в true, позволяет открывать несколько элементов коллапса одновременно.
                        * @type {boolean | undefined}
                        */
                       multiple?: boolean | undefined;
                       /**
                        * Размер.
                        * Определяет размер компонента коллапса. Значение по умолчанию — 'md'.
                        * @type {'sm' | 'md' | 'lg'}
                        * @default 'sm'
                        */
                       size?: 'sm' | 'md' | 'lg';
                       /**
                        * Позиция иконки expand/collapse.
                        * @type {boolean}
                        */
                       iconPosition?: 'left' | 'right';
                       /**
                        * Свойства кнопки
                        */
                       actionButtonProps?: Omit<ButtonProps, 'size' | 'variant'>;
                       /**
                        * Список активных элементов switcher
                        * @type { number[] }
                        */
                       activeSwitches?: number[];
                       /**
                        * Ограничение количества строк в компоненте
                        * @type { boolean }
                        * @default false
                        */
                       limitHeightLabel?: boolean;
                   }

                   declare type ColorToken = `brand${ContrastColorToken}-${number}` | `neutral-${number}` | `info${ContrastColorToken}-${number}` | `success${ContrastColorToken}-${number}` | `warning${ContrastColorToken}-${number}` | `error${ContrastColorToken}-${number}`;

                   export declare type ColProps = HTMLAttributes<HTMLDivElement> & {
                       /**
                        * Поведение сетки. Необходимо устанавливать только при отсутствии sidebar в контейнере Grid ("sidebar = false") или в этом случае установить "type = 'fluid'"
                        * @type { 'fixed' | 'fluid' }
                        * @default 'fluid'
                        */
                       type?: 'fixed' | 'fluid';
                       /**
                        * Тип компоновки
                        * @type { 'compact' | 'standard' | 'sparse' }
                        */
                       layoutType: 'compact' | 'standard' | 'sparse';
                       /**
                        * Количество колонок, занимаемых элементом для каждого брейкпоинта
                        * @type { Breakpoints }
                        */
                       breakpoints: Breakpoints;
                       /**
                        * margin-left у элемента для каждого брейкпоинта.
                        */
                       offsets?: Offsets;
                       /**
                        * margin-right у элемента для каждого брейкпоинта
                        */
                       offsetsRight?: Offsets;
                       /**
                        * Children колонки в сетке
                        */
                       children?: React.ReactElement | React.ReactElement[];
                   };

                   declare type Column = {
                       /**
                        * ID колонки
                        * @type { string }
                        */
                       id: string;
                       /**
                        * Заголовок колонки.
                        * @type { string }
                        */
                       header: string;
                       /**
                        * Visible колонки
                        * @type { boolean }
                        */
                       visible?: boolean;
                       /**
                        * Disabled для колонок (колонки нельзя скрыть, но можно перемещать)
                        * @type { boolean }
                        */
                       disabled?: boolean;
                       /**
                        * Дочерние элементы (группы колонок)
                        */
                       children?: Column[];
                       /**
                        * Дополнительные поля
                        */
                       [key: string]: any;
                   };

                   declare type ContrastColorToken = '-contrast' | '';

                   declare type CountCol_12 = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12';

                   declare type CountCol_8 = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8';

                   declare type CustomPositionProps = {
                       /**
                        * Координата x
                        * @type { number }
                        */
                       x?: number;
                       /**
                        * Координата y
                        * @type { number }
                        */
                       y?: number;
                   };

                   declare type CustomPositionProps_2 = {
                       /**
                        * Координата x
                        * @type { number }
                        */
                       x?: number;
                       /**
                        * Координата y
                        * @type { number }
                        */
                       y?: number;
                   };

                   declare type CustomPositionProps_3 = {
                       /**
                        * Координата x
                        * @type { number }
                        */
                       x?: number;
                       /**
                        * Координата y
                        * @type { number }
                        */
                       y?: number;
                   };

                   export declare function DataRow(props: DataRowProps): JSX_2.Element;

                   export declare namespace DataRow {
                       var Label: typeof DataRowLabel;
                       var Value: typeof DataRowValue;
                   }

                   export declare const DataRowGroup: (props: DataRowGroupProps) => JSX_2.Element;

                   declare type DataRowGroupProps = {
                       size: DataRowProps['size'];
                   } & PropsWithChildren;

                   declare function DataRowLabel(props: DataRowLabelProps): JSX_2.Element | null;

                   export declare type DataRowLabelProps = {
                       text?: string;
                       tooltip?: TooltipProps;
                   };

                   export declare type DataRowProps = {
                       size: 'compact' | 'sm' | 'md';
                       label?: () => React_2.ReactNode;
                       value?: () => React_2.ReactNode;
                       className?: string;
                   } & PropsWithChildren;

                   declare function DataRowValue(props: DataRowValueProps): JSX_2.Element;

                   export declare type DataRowValueProps = {
                       text?: string;
                       additionalContent?: () => React_2.ReactNode;
                   };

                   declare type DecorateProps = {
                       /**
                        * Номер ошибки (для type === 'error')
                        * @type { string }
                        * @default ''
                        */
                       label?: string;
                       /**
                        * Картинка
                        * Если указан параметр для изображения, то приоритет изображения выше
                        * @type { string }
                        */
                       imgSrc?: string;
                   };

                   declare type DescriptionProps = {
                       type: 'description';
                       text: string;
                       icon?: IconName;
                       /**
                        * Классы иконки. Полезно для передачи класса анимации
                        */
                       iconClassName?: string;
                       /**
                        * Элемент загрузки
                        * @type { boolean }
                        */
                       loader?: boolean;
                   };

                   declare type Device = 'mobile' | 'tablet' | 'desktop' | 'desktopLG' | 'desktopXL';

                   export declare const Divider: ForwardRefExoticComponent<DividerProps_2 & RefAttributes<unknown>>;

                   export declare type DividerProps = {
                       /**
                        * Направление разделителя.
                        * - 'horizontal' (по умолчанию): горизонтальный разделитель.
                        * - 'vertical': вертикальный разделитель.
                        * @default 'horizontal'
                        */
                       direction?: 'horizontal' | 'vertical';
                       /**
                        * Объект для настройки отступов (padding) и стилей.
                        * - `divider`: Стили для самой линии разделителя.
                        */
                       pt?: {
                           divider?: {
                               className?: string;
                           };
                       };
                       /**
                        * Отступы.
                        * В случае, если был передан объект - можно задавать отступы по вертикали и горизонтали отдельно.
                        * В ином случае оступы будут заданы одинаковы как по горизонтали, так и по вертикали.
                        * Значениями являются токены space из дизайн системы.
                        * Пример:
                        *  - 0500
                        *  - 1500
                        *  - 0250
                        * @type{spacing: string | {vertical: string: horizontal: string}}
                            */
                        spacing?: string | {
                            vertical: string;
                            horizontal: string;
                        };
                        /**
                         * Явное указание является ли разделитель flex элементом.
                         * В случае, если контейнер имеет свойство display:block, необходимо указать flexItem:false для корректного поведения.
                         * @default false
                         */
                        flexItem?: boolean;
                       };

                       declare type DividerProps_2 = {
                           /**
                            * Направление разделителя.
                            * - 'horizontal' (по умолчанию): горизонтальный разделитель.
                            * - 'vertical': вертикальный разделитель.
                            * @default 'horizontal'
                            */
                           direction?: 'horizontal' | 'vertical';
                           /**
                            * Объект для настройки отступов (padding) и стилей.
                            * - `divider`: Стили для самой линии разделителя.
                            */
                           pt?: {
                               divider?: {
                                   className?: string;
                               };
                           };
                           /**
                            * Отступы.
                            * В случае, если был передан объект - можно задавать отступы по вертикали и горизонтали отдельно.
                            * В ином случае оступы будут заданы одинаковы как по горизонтали, так и по вертикали.
                            * Значениями являются токены space из дизайн системы.
                            * Пример:
                            *  - 0500
                            *  - 1500
                            *  - 0250
                            * @type{spacing: string | {vertical: string: horizontal: string}}
                                */
                            spacing?: string | {
                                vertical: string;
                                horizontal: string;
                            };
                            /**
                             * Явное указание является ли разделитель flex элементом.
                             * В случае, если контейнер имеет свойство display:block, необходимо указать flexItem:false для корректного поведения.
                             * @default false
                             */
                            flexItem?: boolean;
                           };

                           export declare const DocumentCard: (props: DocumentCardProps) => JSX_2.Element;

                           export declare type DocumentCardProps = {
                               /**
                                * Заголовок карточки
                                * @type {string}
                                */
                               label: string;
                               /**
                                * Описание карточки
                                * @type {string}
                                */
                               description?: string;
                               /**
                                * Дата создания карточки
                                * @type {string}
                                */
                               date?: string;
                               /**
                                * Название раздела
                                * @type {string}
                                */
                               section?: string;
                               /**
                                * Событие нажатия на раздел
                                * @type {() => void}
                                */
                               onClickSection?: () => void;
                               /**
                                * Tag success
                                * @type {boolean}
                                */
                               tagSuccess?: boolean;
                               /**
                                * Tag success текст
                                * @type { string }
                                * @default 'Новая редакция'
                                */
                               tagSuccessText?: string;
                               /**
                                * Tag neutral
                                * @type {boolean}
                                */
                               tagNeutral?: boolean;
                               /**
                                * Tag success текст
                                * @type { string }
                                * @default 'Архив'
                                */
                               tagNeutralText?: string;
                               /**
                                * Событие кнопки скачать
                                * @type {() => void}
                                */
                               download?: () => void;
                               /**
                                * Событие кнопки скопировать ссылку на документ
                                * @type {() => void}
                                */
                               copyLink?: () => void;
                               /**
                                * Заголовок Collapse
                                * @type {string}
                                */
                               collapseHeader?: string;
                               /**
                                * Описание Collapse
                                * @type {string}
                                */
                               collapseDescription?: string;
                               /**
                                * Показать checkbox
                                * @type {boolean}
                                */
                               showCheckbox?: boolean;
                               /**
                                * Состояние checkbox
                                * @type {boolean}
                                */
                               checkboxState?: boolean;
                               /**
                                * Событие кнопки checkbox
                                * @type {() => void}
                                */
                               onChangeCheckbox?: (state: boolean) => void;
                               /**
                                * ссылка при нажатии на заголовок
                                * @type {string}
                                */
                               link?: string;
                               /**
                                * Target при нажатии на заголовок
                                * @type {string}
                                */
                               linkTarget?: string;
                               /**
                                * Добавить border к карточке
                                * @type {boolean}
                                */
                               borderCard?: boolean;
                               /**
                                * Смещать контент при отсутствии checkbox
                                * @type { boolean }
                                */
                               offsetContentWithoutCheckbox?: boolean;
                           };

                           export declare const Documents: (props: DocumentsProps) => JSX_2.Element;

                           declare type DocumentsOptionsProps = Omit<DocumentCardProps, 'checkboxState' | 'onChangeCheckbox'> & {
                               /**
                                * Value документа
                                * @type { string }
                                */
                               value: string;
                           };

                           export declare type DocumentsProps = {
                               /**
                                * Список документов
                                * @type { DocumentsOptionsProps[] }
                                */
                               options: DocumentsOptionsProps[];
                               /**
                                * Выбранные документы
                                * @type { string[] }
                                */
                               values: string[];
                               /**
                                * Событие обновления values
                                * @type { (string[]) => void }
                                    */
                                onChangeDocument: (value: string[]) => void;
                                /**
                                 * Событие download
                                 * @type { () => void }
                                 */
                                download: () => void;
                               };

                               export declare const Drawer: (props: DrawerProps) => JSX_2.Element;

                               declare type DrawerButtonLinkProps = {
                                   /**
                                    * Label Кнопки
                                    * @type { string }
                                    */
                                   label: LinkTextProps['label'];
                                   /**
                                    * Имя иконки из иконочного сета
                                    */
                                   iconAfter?: LinkTextProps['iconAfter'];
                                   /**
                                    * Имя иконки из иконочного сета
                                    */
                                   iconBefore?: LinkTextProps['iconBefore'];
                                   /**
                                    * Элемент в состоянии не активный
                                    */
                                   disabled?: LinkTextProps['disabled'];
                                   /**
                                    * Функция, которую необходимо вызвать, при нажатии на элемент
                                    * @type { void }
                                    */
                                   onClick: () => void;
                               };

                               declare type DrawerButtonProps = {
                                   /**
                                    * Label Кнопки
                                    * @type { string }
                                    */
                                   label: ButtonProps['label'];
                                   /**
                                    * Имя иконки из иконочного сета
                                    */
                                   icon?: ButtonProps['icon'];
                                   /**
                                    * Расположение иконки в кнопке
                                    */
                                   iconPos?: ButtonProps['iconPos'];
                                   /**
                                    * Состояние загрузки
                                    */
                                   loading?: ButtonProps['loading'];
                                   /**
                                    * Элемент в состоянии не активный
                                    */
                                   disabled?: ButtonProps['disabled'];
                                   /**
                                    * Функция, которую необходимо вызвать, при нажатии на элемент
                                    * @type { void }
                                    */
                                   onClick: () => void;
                                   form?: string | undefined;
                                   role?: string | undefined;
                                   type?: 'submit' | 'reset' | 'button' | undefined;
                               };

                               export declare type DrawerProps = E_11 & {
                                   /**
                                    * Размер Drawer
                                    * @type { 'sm' | 'md' | 'lg' | '75%' }
                                    * @default 'sm'
                                    */
                                   size?: 'sm' | 'md' | 'lg' | '75%';
                                   /**
                                    * Заголовок Drawer
                                    * @type { string }
                                    */
                                   label?: string;
                                   /**
                                    * Дополнительный текст
                                    * @type { string }
                                    */
                                   description?: string;
                                   /**
                                    * Пользовательские css классы для Drawer
                                    * @type { string }
                                    */
                                   className?: string;
                                   /**
                                    * Кнопка закрытия Drawer
                                    * @type { boolean }
                                    * @default false
                                    */
                                   close?: boolean;
                                   /**
                                    * Кнопка Назад
                                    * @type { boolean }
                                    */
                                   buttonBack?: boolean;
                                   /**
                                    * Callback нажатия на кнопку buttonBack
                                    */
                                   buttonBackClick?: () => void;
                                   /**
                                    * Children для Drawer
                                    * @type { string | ReactNode }
                                    */
                                   children: string | ReactNode;
                                   /**
                                    * Позиция монтирования компонента. Если не задано - по умолчанию
                                    * компонент будет монтироваться в document.body
                                    * @type { AppendToType }
                                    * @default document.body
                                    */
                                   appendTo?: AppendToType;
                                   /**
                                    * Состояние Drawer
                                    * @type { boolean }
                                    */
                                   visible: boolean;
                                   /**
                                    * onHide при закрытии Drawer
                                    * @type { () => void }
                                    */
                                   onHide: () => void;
                                   /**
                                    * Props для кнопки призрака
                                    * @type { DrawerButtonLinkProps }
                                    */
                                   ghostButtonProps?: DrawerButtonLinkProps;
                                   /**
                                    * Props для кнопки отмены
                                    * @type { DrawerButtonProps }
                                    */
                                   rejectButtonProps?: DrawerButtonProps;
                                   /**
                                    * Props для кнопки принять
                                    * @type { DrawerButtonProps }
                                    */
                                   acceptButtonProps?: DrawerButtonProps;
                                   /**
                                    * Закрывать компонент при клике вне области Drawer
                                    * @type { boolean }
                                    * @default true
                                    */
                                   closeClickOutside?: boolean;
                               };

                               export declare const Dropdown: ForwardRefExoticComponent<Omit<DropdownProps, "ref"> & RefAttributes<DropdownRefMethods>>;

                               export declare type DropdownItem = DropdownOptions;

                               declare type DropdownOptions = {
                                   /**
                                    * label элемента
                                    * @type { string }
                                    */
                                   label: string;
                                   /**
                                    * Значение (ключ) элемента
                                    * @type { string }
                                    */
                                   value: string;
                               };

                               export declare type DropdownProps = {
                                   /**
                                    * Размер компонента Dropdown
                                    * @type { 'md' | 'lg' }
                                    * @default 'md'
                                    */
                                   size?: 'md' | 'lg';
                                   /**
                                    * Выбранное значение в компоненте
                                    * @type { string }
                                    */
                                   value: string;
                                   /**
                                    * Набор опций для компонента Dropdown
                                    */
                                   options: DropdownOptions[];
                                   /**
                                    * Иконка слева
                                    * @type { string }
                                    */
                                   icon?: string;
                                   /**
                                    * Радиус скругления
                                    * @type { 'xxs'| 'xs' | 'sm' | 'md' | 'lg' }
                                    * @default 'lg'
                                    */
                                   radius?: LiteralUnion<'xxs' | 'xs' | 'sm' | 'md' | 'lg'>;
                                   /**
                                    * Пользовательские CSS классы для кнопки
                                    */
                                   className?: string;
                                   /**
                                    * Состояние disabled для Dropdown
                                    * @type { boolean }
                                    * @default false
                                    */
                                   disabled?: boolean;
                                   /**
                                    * Событие обновления значения
                                    * @param value: string ключ значения из списка
                                    *
                                    */
                                   onChange: (value: string) => void;
                                   /**
                                    * Callback события focus на кнопке
                                    */
                                   onFocus?: () => void;
                                   /**
                                    * Callback события blur на кнопке
                                    */
                                   onBlur?: () => void;
                                   /**
                                    * Callback открытия списка
                                    */
                                   onShow?: () => void;
                                   /**
                                    * Callback закрытия СПИСКА
                                    */
                                   onHide?: () => void;
                                   /**
                                    * useRef PanelOverlay элемента
                                    * @type { MutableRefObject<null> }
                                    */
                                   ref?: MutableRefObject<null>;
                                   /**
                                    * Кастомная позиционирование компонента
                                    * @type { CustomPositionProps }
                                    */
                                   customPosition?: CustomPositionProps_3;
                                   /**
                                    * Позиция монтирования выпадающего меню. Если не задано - по умолчанию
                                    * компонент будет монтироваться в document.body
                                    * @type { AppendToType }
                                    * @default document.body
                                    */
                                   appendTo?: AppendToType;
                               };

                               export declare type DropdownRefMethods = {
                                   dropdownRootRef?: HTMLDivElement;
                                   panelOverlayRef?: any;
                                   dropdownMenuRef?: any;
                               };

                               /**
                                *  Опции компонента Button Apca
                                */
                               declare type E = React_2.ButtonHTMLAttributes<HTMLButtonElement>;

                               declare type E_10 = HTMLAttributes<HTMLMenuElement>;

                               declare type E_11 = HTMLAttributes<HTMLMenuElement>;

                               declare type E_2 = Callbacks & HTMLAttributes<HTMLInputElement>;

                               declare type E_3 = Callbacks_2 & HTMLAttributes<HTMLTextAreaElement>;

                               declare type E_4 = React_2.ButtonHTMLAttributes<HTMLAnchorElement>;

                               declare type E_5 = React_2.ButtonHTMLAttributes<HTMLAnchorElement>;

                               declare type E_6 = HTMLAttributes<HTMLMenuElement>;

                               declare type E_7 = React_2.ButtonHTMLAttributes<HTMLButtonElement>;

                               declare type E_8 = Callbacks_4 & HTMLAttributes<HTMLInputElement>;

                               declare type E_9 = Callbacks_5 & HTMLAttributes<HTMLInputElement>;

                               declare type ElementActionToastProps = {
                                   /**
                                    * Тип элемента item (type компонента ListItem) + 'divider'
                                    * @type { 'action' | 'item' | 'label' | 'divider' }
                                    */
                                   type: 'action' | 'item' | 'label' | 'divider';
                                   /**
                                    * Текст элемента Action Toast
                                    * @type { string }
                                    */
                                   label: string;
                                   /**
                                    * Имя иконки из иконочного сета
                                    * @type { string }
                                    * @default ''
                                    */
                                   icon?: IconName;
                                   /**
                                    * Элемент меню в состоянии не активный
                                    * @type { boolean | undefined }
                                    */
                                   disabled?: boolean;
                                   /**
                                    * Использовать только иконку
                                    * @type { boolean }
                                    */
                                   onlyIcon?: boolean;
                                   /**
                                    * Активная опция
                                    *  @type { boolean }
                                    */
                                   selected?: boolean;
                                   /**
                                    * Tooltip для опции, где onlyIcon === false
                                    * @type { string }
                                    */
                                   tooltip?: string;
                                   /**
                                    * Функция, которую необходимо вызвать, при нажатии на элемент
                                    * @type { void }
                                    */
                                   onClick?: () => void;
                               };

                               declare type ElementMenuProps = {
                                   /**
                                    * Текст элемента меню
                                    * @type { string | undefined }
                                    */
                                   label?: string;
                                   /**
                                    * Имя иконки из иконочного сета
                                    * @type { string | undefined }
                                    * @default ''
                                    */
                                   icon?: IconName;
                                   /**
                                    * Текст в бейджике для работы с клавиатурой
                                    * @type { string | undefined }
                                    * @default false
                                    */
                                   shortcut?: string;
                                   /**
                                    * Текст в бейджике с сообщением
                                    * @type { string | undefined }
                                    * @default false
                                    */
                                   message?: string;
                                   /**
                                    * Вложенное меню
                                    */
                                   items?: ElementMenuProps[] | ElementMenuProps[][];
                                   /**
                                    * Элемент меню в состоянии не активный
                                    * @type { boolean | undefined }
                                    * @default false
                                    */
                                   disabled?: boolean;
                                   /**
                                    * Текст ссылки
                                    * @type { string | undefined }
                                    * @default undefined
                                    */
                                   href?: string;
                                   /**
                                    * target атрибут для ссылки Link
                                    * @default _self
                                    */
                                   target?: HTMLAttributeAnchorTarget;
                                   /**
                                    * Функция, которую необходимо вызвать, при нажатии на элемент
                                    * @type { void | undefined }
                                    *
                                    */
                                   command?: () => void;
                                   /**
                                    * Разделение элементов в меню
                                    * @type { boolean | undefined }
                                    * @default false
                                    */
                                   separator?: boolean;
                                   /**
                                    * Tooltip
                                    * @type { string }
                                    */
                                   tooltip?: string;
                               };

                               declare type ElementMenuProps_2 = {
                                   /**
                                    * Текст элемента меню
                                    * @type { string | undefined }
                                    */
                                   label?: string | undefined;
                                   /**
                                    * Имя иконки из иконочного сета
                                    * @type { string }
                                    * @default ''
                                    */
                                   icon?: IconName | undefined;
                                   /**
                                    * Текст в бейджике для работы с клавиатурой
                                    * @type { string }
                                    * @default false
                                    */
                                   shortcut?: string | undefined;
                                   /**
                                    * Текст в бейджике с сообщением
                                    * @type { string }
                                    * @default false
                                    */
                                   message?: string | undefined;
                                   /**
                                    * Вложенное меню
                                    */
                                   items?: ElementMenuProps_2[] | ElementMenuProps_2[][] | undefined;
                                   /**
                                    * Элемент меню в состоянии не активный
                                    * @default false
                                    */
                                   disabled?: boolean | undefined;
                                   /**
                                    * Текст ссылки
                                    * @type { string }
                                    * @default undefined
                                    */
                                   href?: string;
                                   /**
                                    * target атрибут для ссылки Link
                                    * @default _self
                                    */
                                   target?: HTMLAttributeAnchorTarget;
                                   /**
                                    * Функция, которую необходимо вызвать, при нажатии на элемент
                                    * @type { void }
                                    *
                                    */
                                   command?: void;
                                   /**
                                    * Разделение элементов в меню
                                    * @type { boolean }
                                    * @default false
                                    */
                                   separator?: boolean | undefined;
                               };

                               /**
                                * Событие
                                * @param e
                                * @type {CollapseEvent}
                                */
                               declare type Event_2 = (e: CollapseEvent) => void | undefined;

                               /**
                                * Событие
                                * @type ModalDialogEvent
                                */
                               declare type Event_3 = () => void;

                               /**
                                * Событие
                                * @param e
                                * @type {CollapseEvent}
                                */
                               declare type Event_4 = (e: CollapseEvent_2) => void | undefined;

                               /**
                                * Событие
                                * @type PopupEvent
                                */
                               declare type Event_5 = () => void;

                               declare interface Events {
                                   /**
                                    * Событие выбора активной вкладки.
                                    * @param event
                                    * @type TabViewTabChangeEvent
                                    */
                                   onTabChange?: (event: TabViewTabChangeEvent) => void;
                               }

                               export declare const ExchangeElementsProvider: (props: Props) => JSX_2.Element;

                               declare type FileItemActionList = Omit<ElementMenuProps, 'command'> & {
                                   onClick?: (file: UploadedFile, fileIndex: number) => void;
                               };

                               export declare const FileUpload: ForwardRefExoticComponent<FileUploadProps & RefAttributes<unknown>>;

                               export declare interface FileUploadProps {
                                   /**
                                    * Режим отображения компонента загрузки файлов
                                    * @type {'button' | 'dropzone'}
                                    * @default 'button'
                                    */
                                   mode: 'button' | 'dropzone';
                                   /**
                                    * Флаг, указывающий возможность загрузки нескольких файлов
                                    * @type {boolean}
                                    * @default false
                                    */
                                   multiple: boolean;
                                   /**
                                    * Размер компонента загрузки
                                    * @type {'md' | 'lg'}
                                    * @default 'md'
                                    */
                                   size: 'md' | 'lg';
                                   /**
                                    * Текст заголовка
                                    * @type {string}
                                    * @default undefined
                                    */
                                   titleText?: string;
                                   /**
                                    * Текст описания
                                    * @type {string}
                                    * @default undefined
                                    */
                                   descriptionText?: string;
                                   /**
                                    * Текст кнопки
                                    * @type {string}
                                    * @default undefined
                                    */
                                   buttonLabel?: string;
                                   /**
                                    * Флаг, указывающий на отключенное состояние компонента
                                    * @type {boolean}
                                    * @default false
                                    */
                                   disabled?: boolean;
                                   /**
                                    * Состояние компонента
                                    * @type {'error' | 'default'}
                                    * @default 'default'
                                    */
                                   state: 'error' | 'default';
                                   /**
                                    * Функция для рендеринга дополнительных действий для файла
                                    * @type {(file: UploadedFile, fileIndex: number) => ReactElement}
                                    * @default undefined
                                    * @deprecated
                                    * @see fileItemActionList
                                    */
                                   moreActionElement?: (file: UploadedFile, fileIndex: number) => ReactElement;
                                   /**
                                    * Список дополнительных действий для файла
                                    * @new
                                    * @type {(file: UploadedFile, fileIndex: number) => FileItemActionList[]}
                                    */
                                   fileItemActionList?: (file: UploadedFile, fileIndex: number) => FileItemActionList[];
                                   /**
                                    * Обработчик события изменения списка файлов
                                    * @type {(files: UploadedFile[]) => void}
                                    * @default undefined
                                    */
                                   onChange?: (files: UploadedFile[]) => void;
                                   /**
                                    * Отложенное удаление файла, через backend. Список не обновляется на фронтенде.
                                    * Обновление необходимо выполнить после удаления с backend
                                    * @type { boolean }
                                    * @default {false}
                                    */
                                   backendRemove?: boolean;
                                   /**
                                    * Обработчик события удаления файла
                                    * @type {(file: UploadedFile, index: number) => void}
                                    * @default undefined
                                    */
                                   onRemove?: (file: UploadedFile, index: number) => void;
                                   /**
                                    * Обработчик события отмены загрузки файла
                                    * @type {(file: UploadedFile, index: number) => void}
                                    * @default undefined
                                    */
                                   onCancel?: (file: UploadedFile, index: number) => void;
                                   /**
                                    * CSS класс для списка файлов
                                    * @type {string}
                                    * @default ''
                                    */
                                   listClassName?: string;
                                   /**
                                    * Допустимые расширения для файлов. Например: ['.pdf']
                                    * @type { string[] }
                                    */
                                   fileExtension?: string[];
                                   /**
                                    * Максимальный размер файла в МБ
                                    * @type { number }
                                    */
                                   maxFileSize?: number;
                                   /**
                                    * Допустимое количество файлов
                                    * @type { number }
                                    */
                                   maxFileCount?: number;
                                   /**
                                    * Обновление локали компонента FileUpload
                                    * @type { 'ru' | 'en' }
                                    * @default 'ru'
                                    */
                                   locale?: 'ru' | 'en';
                               }

                               export declare interface FileUploadRef {
                                   /**
                                    * Метод для получения файлов, для дальнейшей их обработки
                                    * @returns
                                    */
                                   getFiles: () => UploadedFile[];
                                   /**
                                    * Метод для установки значения файлов, позволяет задать состояние по умолчанию
                                    * @param files
                                    * @returns
                                    */
                                   setFiles: (files: InitialUploadedFile[]) => void;
                               }

                               export declare const Flex: ({ children, direction, alignItems, justifyContent, wrap, spacing, divider, pt, ...props }: FlexProps) => JSX_2.Element;

                               export declare type FlexProps = {
                                   /**
                                    * Дочерние элементы компонента
                                    * @type {ReactNode | ReactNode[]}
                                    */
                                   children?: ReactNode | ReactNode[];
                                   /**
                                    * Направление flex-контейнера
                                    * @type {'row' | 'column' | 'row-reverse' | 'column-reverse'}
                                    */
                                   direction?: 'row' | 'column' | 'row-reverse' | 'column-reverse';
                                   /**
                                    * Выравнивание элементов по поперечной оси
                                    * @type {'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'}
                                    */
                                   alignItems?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline';
                                   /**
                                    * Выравнивание элементов по главной оси
                                    * @type {'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly'}
                                    */
                                   justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';
                                   /**
                                    * Расстояние между элементами (значения токена). Пример
                                    * spacing: '0250'
                                    * @type {string}
                                    */
                                   spacing?: string;
                                   /**
                                    * Перенос элементов на новую строку/столбец
                                    * @type {'nowrap' | 'wrap' | 'wrap-reverse'}
                                    */
                                   wrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
                                   /**
                                    * Разделитель между элементами
                                    * @type {ReactNode}
                                    */
                                   divider?: ReactNode;
                                   /**
                                    * Пропс для передачи классов через pt (pass through)
                                    * @type {{ root?: { className?: string }; item?: { className?: string } }}
                                    */
                                   pt?: {
                                       root?: {
                                           className?: string;
                                       };
                                       item?: {
                                           className?: string;
                                       };
                                   };
                               };

                               export declare const FloatingButton: (props: FloatingButtonProps) => JSX_2.Element;

                               export declare type FloatingButtonActionMenuProps = {
                                   /**
                                    * Иконка
                                    * @type { IconName }
                                    */
                                   icon?: IconName;
                                   /**
                                    * Текст опции
                                    * @type { string }
                                    */
                                   label?: string;
                                   /**
                                    * Элемент в состоянии не активный
                                    * @default false
                                    */
                                   disabled?: boolean;
                                   /**
                                    * Разделение группы
                                    * @type { boolean }
                                    */
                                   separator?: boolean;
                                   /**
                                    * Событие нажатия кнопки
                                    * @type { () => void }
                                    */
                                   command?: () => void;
                               };

                               export declare type FloatingButtonListProps = {
                                   /**
                                    * Иконка
                                    * @type { IconName }
                                    */
                                   icon: IconName;
                                   /**
                                    * Текст опции
                                    * @type { string }
                                    */
                                   label?: string;
                                   /**
                                    * Отображать иконку загрузки и перевести кнопку в состояние загрузка
                                    * @default false
                                    */
                                   loading?: boolean;
                                   /**
                                    * Элемент в состоянии не активный
                                    * @default false
                                    */
                                   disabled?: boolean;
                                   /**
                                    * Событие нажатия кнопки
                                    * @type { () => void }
                                    */
                                   onClick?: () => void;
                               };

                               export declare type FloatingButtonProps = {
                                   /**
                                    * Размер кнопки.
                                    * @type {'md' | 'lg' | 'xl'}
                                    * @default 'md'
                                    */
                                   size?: LiteralUnion<'md' | 'lg' | 'xl'>;
                                   /**
                                    * Тип кнопки
                                    * @type {'brand' | 'neutral'}
                                    * @default 'brand'
                                    */
                                   typeColor?: LiteralUnion<'brand' | 'neutral'>;
                                   /**
                                    * Отображать иконку загрузки и перевести кнопку в состояние загрузка
                                    * @default false
                                    */
                                   loading?: boolean;
                                   /**
                                    * Применить закругление у кнопки.
                                    * @default false
                                    */
                                   rounded?: boolean;
                                   /**
                                    * Вариант списка
                                    * @type { 'actionMenu' | 'button' }
                                    * @default 'button'
                                    */
                                   listVariant?: 'actionMenu' | 'button';
                                   /**
                                    * Позиция монтирования компонента. Если не задано - по умолчанию
                                    * компонент будет монтироваться в document.body
                                    * @type { AppendToType }
                                    * @default document.body
                                    */
                                   appendTo?: AppendToType;
                                   /**
                                    * Список опций
                                    * @type { FloatingButtonListProps[] | FloatingButtonActionMenuProps[] }
                                    */
                                   options: FloatingButtonListProps[] | FloatingButtonActionMenuProps[];
                               };

                               export declare const FullScreen: (props: FullScreenProps) => JSX_2.Element;

                               export declare type FullScreenOptionsProps = {
                                   /**
                                    * Id элемента
                                    * @type { string }
                                    */
                                   id: string;
                                   /**
                                    * Ссылка на изображение
                                    * @type { string }
                                    */
                                   src: string;
                                   /**
                                    * label изображения
                                    * @type { string }
                                    */
                                   label?: string;
                                   /**
                                    * FullScreen Template
                                    * @type { ReactNode }
                                    */
                                   fullScreenTemplate?: ReactNode;
                               };

                               export declare type FullScreenProps = {
                                   /**
                                    * Состояние компонента FullScreen
                                    * @type { boolean }
                                    */
                                   visible?: boolean;
                                   /**
                                    * Номер текущего элемента в списке
                                    * @type { number }
                                    */
                                   activeIndex?: number;
                                   /**
                                    * Набор элементов
                                    * @type { FullScreenOptionsProps[] }
                                    */
                                   options: FullScreenOptionsProps[];
                                   /**
                                    * Callback обновления index изображения
                                    * @type { (index: number) => void }
                                    */
                                   onUpdateActiveIndex?: () => void;
                                   /**
                                    * Callback клика по кнопке назад
                                    * @type { () => void }
                                    */
                                   onClickPrevButton?: () => void;
                                   /**
                                    * Callback клика по кнопке вперёд
                                    * @type { () => void }
                                    */
                                   onClickNextButton?: () => void;
                                   /**
                                    * Callback по кнопке закрыть fullscreen
                                    * @type { () => void }
                                    */
                                   onClickCloseButton?: () => void;
                                   /**
                                    * Позиция монтирования компонента. Если не задано - по умолчанию
                                    * компонент будет монтироваться в document.body
                                    * @type { AppendToType }
                                    * @default document.body
                                    */
                                   appendTo?: AppendToType;
                                   /**
                                    * Loop цикл (Beta)
                                    * @type { boolean }
                                    * @default true
                                    */
                                   loop?: boolean;
                               };

                               export declare const Grid: ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
                                   type?: "fixed" | "fluid";
                                   sidebar?: boolean;
                                   layoutType?: "compact" | "standard" | "sparse";
                                   children?: React.ReactElement | React.ReactElement[];
                               } & RefAttributes<unknown>>;

                               export declare type GridProps = HTMLAttributes<HTMLDivElement> & {
                                   /**
                                    * Поведение сетки. Устанавливается только для параметра "sidebar = false"
                                    * @type { 'fixed' | 'fluid' }
                                    * @default 'fluid'
                                    */
                                   type?: 'fixed' | 'fluid';
                                   /**
                                    * Использовать sidebar
                                    * @type { 'boolean' }
                                    * @default false
                                    */
                                   sidebar?: boolean;
                                   /**
                                    * Тип компоновки
                                    * @type { 'compact' | 'standard' | 'sparse' }
                                    */
                                   layoutType?: 'compact' | 'standard' | 'sparse';
                                   /**
                                    * Children сетки. При использовании опции "sidebar = true", в компонент Grid необходимо передать 2 Children (children[0] - Sidebar, children[1] -  MainContent(Компоненты "Row") ). min-width siidebar = 48px, max-width = 248px
                                    */
                                   children?: React.ReactElement | React.ReactElement[];
                               };

                               export declare const GroupButton: (props: GroupButtonProps) => JSX_2.Element | undefined;

                               declare type GroupButtonComponentProps = {
                                   /**
                                    * Тип компонента - группа кнопок
                                    */
                                   type: 'group';
                                   /**
                                    * Массив кнопок группы, без свойств размера, варианта и цветовой схемы
                                    */
                                   buttons: Omit<ButtonProps, 'size' | 'variant' | 'typeColor'>[];
                               };

                               export declare type GroupButtonProps = BaseGroupButtonProps & (SplitButtonComponentProps | GroupButtonComponentProps);

                               export declare const Heading: (props: HeadingProps) => JSX_2.Element;

                               export declare type HeadingProps = {
                                   variant: Variant;
                                   children: ReactNode;
                                   className?: string;
                               };

                               export declare const Icon: {
                                   readonly Receipt: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Line: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Bar: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Candle: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Indicator: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Setting: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Camera: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Fullscreen: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Unfullscreen: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Pin: ({ size }: IconProps) => JSX_2.Element;
                                   readonly PinFill: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Filter: ({ size }: IconProps) => JSX_2.Element;
                                   readonly FilterClear: ({ size }: IconProps) => JSX_2.Element;
                                   readonly FilterAlert: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Telegram: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Vkontakte: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Youtube: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Dzen: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Habr: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Rutube: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Max: ({ size }: IconProps) => JSX_2.Element;
                                   readonly InfoCircle: ({ size }: IconProps) => JSX_2.Element;
                                   readonly WarningCircle: ({ size }: IconProps) => JSX_2.Element;
                                   readonly HelperCircle: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Indete: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Check: ({ size }: IconProps) => JSX_2.Element;
                                   readonly CloseCircle: ({ size }: IconProps) => JSX_2.Element;
                                   readonly CloseSmall: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Close: ({ size }: IconProps) => JSX_2.Element;
                                   readonly CheckCircle: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Eye: ({ size }: IconProps) => JSX_2.Element;
                                   readonly CloseEye: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Circle: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Dot: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Download: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Upload: ({ size }: IconProps) => JSX_2.Element;
                                   readonly MoreHorizontal: ({ size }: IconProps) => JSX_2.Element;
                                   readonly MoreVertical: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Day: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Night: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Minus: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Plus: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Search: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Trash: ({ size }: IconProps) => JSX_2.Element;
                                   readonly User: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Copy: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Menu: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Grid: ({ size }: IconProps) => JSX_2.Element;
                                   readonly BasketEmpty: ({ size }: IconProps) => JSX_2.Element;
                                   readonly BasketFull: ({ size }: IconProps) => JSX_2.Element;
                                   readonly NotificationEmpty: ({ size }: IconProps) => JSX_2.Element;
                                   readonly NotificationAlert: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Image: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Edit: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Play: () => JSX_2.Element;
                                   readonly File: ({ size }: IconProps) => JSX_2.Element;
                                   readonly GripVert: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Time: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Link: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Star: ({ size }: IconProps) => JSX_2.Element;
                                   readonly StarFill: ({ size }: IconProps) => JSX_2.Element;
                                   readonly DocumentCheck: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Lock: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Unlock: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Gear: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Mail: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Tools: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Document: ({ size }: IconProps) => JSX_2.Element;
                                   readonly GraficArrow: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Dashboard: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Refresh: ({ size }: IconProps) => JSX_2.Element;
                                   readonly PieChart: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Key: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Folder: ({ size }: IconProps) => JSX_2.Element;
                                   readonly ChevronRight: ({ size }: IconProps) => JSX_2.Element;
                                   readonly ChevronDown: ({ size }: IconProps) => JSX_2.Element;
                                   readonly ChevronUp: ({ size }: IconProps) => JSX_2.Element;
                                   readonly ChevronLeft: ({ size }: IconProps) => JSX_2.Element;
                                   readonly ArrowUpRight: ({ size }: IconProps) => JSX_2.Element;
                                   readonly ArrowRight: ({ size }: IconProps) => JSX_2.Element;
                                   readonly ArrowLeft: ({ size }: IconProps) => JSX_2.Element;
                                   readonly ArrowUp: ({ size }: IconProps) => JSX_2.Element;
                                   readonly ArrowDown: ({ size }: IconProps) => JSX_2.Element;
                                   readonly ArrowsOff: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Expand: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Collapse: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Placeholder: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Calendar: ({ size }: IconProps) => JSX_2.Element;
                                   readonly Load: ({ size }: IconProps) => JSX_2.Element;
                               };

                               declare type IconName = keyof typeof Icon;

                               export declare type IconProps = {
                                   /**
                                    * Размер иконки
                                    * @type '16' | '24'
                                    * @default '16'
                                    */
                                   size: 16 | 24 | 32;
                               };

                               declare type Id = string | number;

                               declare interface InitialUploadedFile {
                                   /**
                                    * Статус загрузки файла
                                    * @type {'default' | 'loading' | 'error'}
                                    * @default 'default'
                                    */
                                   status?: 'default' | 'loading' | 'error';
                                   /**
                                    * Имя файла. Например File.pdf или File
                                    * @type { string }
                                    */
                                   name: string;
                                   /**
                                    * Расширение файла. Например image/png или png
                                    * @type { string }
                                    */
                                   type: string;
                                   /**
                                    * Размер файла в байтах
                                    * @type { number }
                                    */
                                   size: number;
                                   /**
                                    * Ссылка на файл
                                    * Логику загрузки файла необходимо добавить через `moreActionElement`
                                    * @type { string }
                                    */
                                   url?: string;
                                   /**
                                    * Caption text для файла. Используется для отображения текста ошибки. Данный текст располагается вместо расширения и размера файла.
                                    * @type { string }
                                    */
                                   caption?: string;
                               }

                               declare type InputMaskRef = {
                                   inputContainerRef: HTMLElement | null;
                                   inputRef: HTMLInputElement | null;
                                   focus: () => never;
                                   blur: () => never;
                               };

                               export declare const InputNumber: ({ size, label, caption, state, disabled, required, value, placeholder, onClick, className, labelPos, showButtons, step, maxFractionDigits, separator, onChange, radius, prevClick, nextClick, autoComplete, ...props }: InputNumberProps) => JSX_2.Element | null;

                               /**
                                * Входные параметры для компонента InputNumber
                                */
                               export declare type InputNumberProps = E_9 & {
                                   /**
                                    * Размер InputNumber
                                    * Для label внутри input используется только 'lg' и 'xl
                                    * @type { 'sm' | 'md' | 'lg' | 'xl' }
                                    * @default 'lg'
                                    */
                                   size?: LiteralUnion<'sm' | 'md' | 'lg' | 'xl'>;
                                   /**
                                    * Label для InputNumber
                                    * @type { string }
                                    * @default ''
                                    */
                                   label?: string;
                                   /**
                                    * Подсказка для InputNumber
                                    * @type { string }
                                    * @default ''
                                    */
                                   caption?: string;
                                   /**
                                    * Состояние компонента
                                    * @type { 'default' | 'error' | 'warning' | 'success' }
                                    * @default 'default'
                                    */
                                   state?: 'default' | 'error' | 'warning' | 'success';
                                   /**
                                    * Неактивное поле
                                    * @type { boolean }
                                    * @default false
                                    */
                                   disabled?: boolean;
                                   /**
                                    * Расположение label
                                    * @type 'inside' | 'top'
                                    * @default 'inside'
                                    */
                                   labelPos?: LiteralUnion<'inside' | 'top'>;
                                   /**
                                    * Минимальное значение для InputNumber
                                    * @type { number }
                                    */
                                   min?: number;
                                   /**
                                    * Максимальное значение для InputNumber
                                    * @type { number }
                                    */
                                   max?: number;
                                   /**
                                    * Шаг значения при нажатии на кнопки InputNumber
                                    * @type { number }
                                    * @default 1
                                    */
                                   step?: number;
                                   /**
                                    * Текст перед значением в InputNumber
                                    * @type { string }
                                    * @default ''
                                    */
                                   prefix?: string;
                                   /**
                                    * Текст после значения в InputNumber
                                    * @type { string }
                                    * @default ''
                                    */
                                   suffix?: string;
                                   /**
                                    * Обязательное поле (отображение знака *)
                                    * @type boolean
                                    * @default false
                                    */
                                   required?: boolean;
                                   /**
                                    * Показывать кнопки для управления значением в InputNumber
                                    * @type { boolean }
                                    * @default false
                                    */
                                   showButtons?: boolean;
                                   /**
                                    * Позволяет контролировать поведение свойства autocomplete
                                    * @default "off"
                                    */
                                   autoComplete?: HTMLInputElement['autocomplete'];
                                   /**
                                    * Количество символов после запятой
                                    * @type { number }
                                    * @default 0
                                    */
                                   maxFractionDigits?: number;
                                   /**
                                    * Разделитель между 1000
                                    * @type { 'comma' | 'space' }
                                    * @default 'comma'
                                    */
                                   separator?: LiteralUnion<'comma' | 'space'>;
                                   /**
                                    * Value для InputNumber
                                    */
                                   value: number | null;
                                   /**
                                    * Обработчик изменения значения InputNumber
                                    */
                                   onChange?: (item: number, event?: SyntheticEvent) => void;
                                   /**
                                    * Радиус скругления
                                    * @type {'xxs'| 'xs' | 'sm' | 'md' | 'lg' | '2lg'}
                                    */
                                   radius?: LiteralUnion<'xxs' | 'xs' | 'sm' | 'md' | 'lg' | '2lg'>;
                                   /**
                                    * Функция для иконки minus
                                    * @type { Function }
                                    */
                                   prevClick?: () => void;
                                   /**
                                    * Функция для иконки plus
                                    * @type { Function }
                                    */
                                   nextClick?: () => void;
                               };

                               export declare const InputPassword: ({ size, label, caption, error, warning, success, disabled, strengthCheck, textCondData, value, onClick, className, labelPos, radius, description, typePassword, ...props }: InputPasswordProps) => JSX_2.Element | null;

                               export declare type InputPasswordProps = E_8 & {
                                   /**
                                    * Размер InputPassword
                                    * Для label внутри input используется только 'lg' и 'xl
                                    * @type {'sm' | 'md' | 'lg' | 'xl'}
                                    * @default 'md'
                                    */
                                   size?: LiteralUnion<'sm' | 'md' | 'lg' | 'xl'>;
                                   /**
                                    * Label для InputPassword
                                    * @type { string }
                                    * @default ''
                                    */
                                   label?: string;
                                   /**
                                    * Подсказка для InputPassword
                                    * @type {string}
                                    * @default ''
                                    */
                                   caption?: string;
                                   /**
                                    * Статус валидации "Ошибка"
                                    * @type { boolean }
                                    * @default false
                                    */
                                   error?: boolean;
                                   /**
                                    * Статус валидации "Обратить внимание"
                                    * @type { boolean }
                                    * @default false
                                    */
                                   warning?: boolean;
                                   /**
                                    * Статус валидации "Успешно"
                                    * @type { boolean }
                                    * @default false
                                    */
                                   success?: boolean;
                                   /**
                                    * Неактивное поле
                                    * @type { boolean }
                                    * @default false
                                    */
                                   disabled?: boolean;
                                   /**
                                    * Видимость индикатора надежности пароля
                                    * @type { boolean }
                                    * @default false
                                    */
                                   strengthCheck?: boolean;
                                   /**
                                    * Требования к паролю
                                    * @type { TextCondData[] }
                                    * @default []
                                    */
                                   textCondData?: TextCondData[];
                                   /**
                                    * Расположение label
                                    * @type 'inside' | 'top'
                                    * @default 'inside'
                                    */
                                   labelPos?: LiteralUnion<'inside' | 'top'>;
                                   /**
                                    * Радиус скругления
                                    * @type {'xxs'| 'xs' | 'sm' | 'md' | 'lg' | '2lg'}
                                    */
                                   radius?: LiteralUnion<'xxs' | 'xs' | 'sm' | 'md' | 'lg' | '2lg'>;
                                   /**
                                    * Description для пароля
                                    * @type { string }
                                    */
                                   description?: string;
                                   /**
                                    * Тип пароля. Beta
                                    * @type { 'new-password' | 'current-password' }
                                    * @default 'new-password'
                                    */
                                   typePassword?: 'new-password' | 'current-password';
                               };

                               export declare const InputSearch: ({ value, size, iconPosition, onChange, ...props }: InputSearchProps) => JSX_2.Element;

                               /**
                                * Пропсы для поля ввода
                                */
                               export declare type InputSearchProps = Omit<AutoCompleteProps, 'iconLeft' | 'caption' | 'required' | 'readonly' | 'iconPos' | 'clickable' | 'labelPos' | 'completeMethod'> & {
                                   /**
                                    * Выбор расположения иконки для открытия InputSearch
                                    * @type { 'left' | 'right' }
                                    * @default 'left'
                                    */
                                   iconPosition?: 'left' | 'right';
                                   /**
                                    * className для контейнера компонента
                                    * @type { string }
                                    */
                                   className?: string;
                                   /**
                                    * Метод поиска вариантов для автозаполнения по запросу
                                    * @param { query: string } строка из инпута
                                        */
                                    completeMethod?: ({ query: string }: {
                                        query: any;
                                    }) => void;
                                    /**
                                     * Callback клика на кнопку очистки поля
                                     */
                                    onRemove?: () => void;
                                   };

                                   export declare const InputText: ForwardRefExoticComponent<{
                                       id?: string | undefined | undefined;
                                       onFocus?: FocusEventHandler<HTMLInputElement> | undefined;
                                       onBlur?: FocusEventHandler<HTMLInputElement> | undefined;
                                       onChange?: ChangeEventHandler<HTMLInputElement> | undefined;
                                       onClick?: MouseEventHandler<HTMLInputElement> | undefined;
                                       name?: string | undefined | undefined;
                                       placeholder?: string | undefined | undefined;
                                   } & HTMLAttributes<HTMLInputElement> & SharedTooltipProps & {
                                       value: string | number | readonly string[] | undefined;
                                       size?: LiteralUnion<"sm" | "md" | "lg" | "xl">;
                                       caption?: string;
                                       error?: boolean;
                                       warning?: boolean;
                                       success?: boolean;
                                       label?: string;
                                       disabled?: boolean;
                                       readonly?: boolean;
                                       required?: boolean;
                                       iconLeft?: IconName;
                                       iconRightFirst?: IconName;
                                       iconRightSecond?: IconName;
                                       iconRightFirstClick?: () => void;
                                       iconRightSecondClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
                                       clickable?: boolean;
                                       labelPos?: LiteralUnion<"inside" | "top">;
                                       tooltipLocation?: LiteralUnion<"top" | "bottom">;
                                       type?: LiteralUnion<"brand" | "neutral">;
                                       radius?: LiteralUnion<"xxs" | "xs" | "sm" | "md" | "lg" | "2lg">;
                                       inputClassNames?: string;
                                   } & RefAttributes<InputTextRef>>;

                                   export declare const InputTextArea: ({ size, label, caption, useCounter, value, counter, error, success, disabled, required, onClick, clickable, className, labelPos, textAreaClassName, radius, ...props }: InputTextAreaProps) => JSX_2.Element;

                                   export declare type InputTextAreaProps = E_3 & {
                                       /**
                                        *  Value для поля
                                        * @type { string | number | readonly string[] | undefined }
                                        */
                                       value: string | number | readonly string[] | undefined;
                                       /**
                                        * Размер inputTextArea
                                        * @type {'md' | 'lg'}
                                        * @default 'md'
                                        */
                                       size?: LiteralUnion<'md' | 'lg'>;
                                       /**
                                        * Подсказка
                                        * @type {string}
                                        * @default ''
                                        */
                                       caption?: string;
                                       /**
                                        * Поле со счётчиком
                                        * @type {boolean}
                                        * @default false
                                        */
                                       useCounter?: boolean;
                                       /**
                                        * Счётчик
                                        * @type {number}
                                        * @default 0
                                        */
                                       counter?: number;
                                       /**
                                        * Ошибка валидации
                                        * @type { boolean }
                                        * @default false
                                        */
                                       error?: boolean;
                                       /**
                                        * Успешная валидация
                                        * @type { boolean }
                                        * @default false
                                        */
                                       success?: boolean;
                                       /**
                                        * Описание TextArea
                                        * @type { string }
                                        * @default ''
                                        */
                                       label?: string;
                                       /**
                                        * Неактивное поле
                                        * @type { boolean }
                                        * @default false
                                        */
                                       disabled?: boolean;
                                       /**
                                        * Обязательное поле (отображение знака *)
                                        * @type { boolean }
                                        * @default false
                                        */
                                       required?: boolean;
                                       /**
                                        * Иконка
                                        * @type { string }
                                        * @default ''
                                        */
                                       /**
                                        * Добавить `cursor: pointer` и `pointer-events: none`
                                        */
                                       clickable?: boolean;
                                       /**
                                        * Расположение label
                                        * @type 'inside' | 'top'
                                        * @default 'inside'
                                        */
                                       labelPos?: LiteralUnion<'inside' | 'top'>;
                                       /**
                                        * Радиус скругления. По умолчанию radius для 'md' = 12px, 'lg' = 14px
                                        * @type {'xxs'| 'xs' | 'sm' | 'md' | 'lg' | '2lg'}
                                        */
                                       radius?: LiteralUnion<'xxs' | 'xs' | 'sm' | 'md' | 'lg' | '2lg'>;
                                       /**
                                        * Кастомные классы для внутреннеого компонента textArea
                                        * Можно задать пользовательские размеры компонента (к примеру min-height, max-height)
                                        */
                                       textAreaClassName?: string;
                                   };

                                   export declare const InputTextMask: ForwardRefExoticComponent<{
                                       id?: string | undefined | undefined;
                                       onFocus?: FocusEventHandler<HTMLInputElement> | undefined;
                                       onBlur?: FocusEventHandler<HTMLInputElement> | undefined;
                                       onChange?: ChangeEventHandler<HTMLInputElement> | undefined;
                                       onClick?: MouseEventHandler<HTMLInputElement> | undefined;
                                       name?: string | undefined | undefined;
                                       placeholder?: string | undefined | undefined;
                                   } & HTMLAttributes<HTMLInputElement> & SharedTooltipProps & {
                                       value: string | number | readonly string[] | undefined;
                                       size?: LiteralUnion<"sm" | "md" | "lg" | "xl">;
                                       caption?: string;
                                       error?: boolean;
                                       warning?: boolean;
                                       success?: boolean;
                                       label?: string;
                                       disabled?: boolean;
                                       readonly?: boolean;
                                       required?: boolean;
                                       iconLeft?: IconName;
                                       iconRightFirst?: IconName;
                                       iconRightSecond?: IconName;
                                       iconRightFirstClick?: () => void;
                                       iconRightSecondClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
                                       clickable?: boolean;
                                       labelPos?: LiteralUnion<"inside" | "top">;
                                       tooltipLocation?: LiteralUnion<"top" | "bottom">;
                                       type?: LiteralUnion<"brand" | "neutral">;
                                       radius?: LiteralUnion<"xxs" | "xs" | "sm" | "md" | "lg" | "2lg">;
                                       inputClassNames?: string;
                                   } & InputMaskProps & {
                                       onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
                                       onChange?: (event: any) => void;
                                       slotChar?: string;
                                   } & RefAttributes<InputMaskRef>>;

                                   export declare type InputTextMaskProps = InputTextProps & InputMaskProps & {
                                       /**
                                        * Событие клика на элемент.
                                        * Может быть полезно когда используется в комбинации с другими элементами. Например, компонент Calendar
                                        * Нужно событие чтобы показать календарь на выпадающей панеле.
                                        * @type { boolean }
                                        **/
                                       onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
                                       /**
                                        * Событие изменения значения
                                        * @param event
                                        */
                                       onChange?: (event: any) => void;
                                       /**
                                        * Строка, которая отображается при фокусировке на поле и соответствует строке в mask
                                        * Например, для mask = 99.99.9999 и slotChar = ДД.ММ.ГГГГ при фокусировке текст в поле будет изначально заполнен ДД.ММ.ГГГГ
                                        * По мере заполнения поля, строка slotChar будет заменяться на value
                                        * @type { string }
                                        */
                                       slotChar?: string;
                                   };

                                   export declare type InputTextProps = E_2 & SharedTooltipProps & {
                                       /**
                                        *  Value для поля
                                        * @type { string | number | readonly string[] | undefined }
                                        */
                                       value: string | number | readonly string[] | undefined;
                                       /**
                                        * Размер текстового поля.
                                        * Для label внутри input используется только 'lg' и 'xl
                                        * @type { 'sm' | 'md' | 'lg' | 'xl' }
                                        * @default 'lg'
                                        */
                                       size?: LiteralUnion<'sm' | 'md' | 'lg' | 'xl'>;
                                       /**
                                        * Подсказка к полю
                                        * @type { string }
                                        * @default ''
                                        */
                                       caption?: string;
                                       /**
                                        * Ошибка валидации
                                        * @type { boolean }
                                        * @default false
                                        */
                                       error?: boolean;
                                       /**
                                        * Статус валидации "Обратить внимание"
                                        * @type { boolean }
                                        * @default false
                                        */
                                       warning?: boolean;
                                       /**
                                        * Успешная валидация
                                        * @type { boolean }
                                        * @default false
                                        */
                                       success?: boolean;
                                       /**
                                        * Ошибка валидации
                                        * @type { boolean }
                                        * @default false
                                        */
                                       label?: string;
                                       /**
                                        * Неактивное поле
                                        * @type { boolean }
                                        * @default false
                                        */
                                       disabled?: boolean;
                                       /**
                                        * Поле только для чтения
                                        * @type { boolean }
                                        * @default false
                                        */
                                       readonly?: boolean;
                                       /**
                                        * Обязательное поле (отображение знака *)
                                        * @type { boolean }
                                        * @default false
                                        */
                                       required?: boolean;
                                       /**
                                        * Иконка для Input left
                                        * @type { IconName }
                                        * @default ''
                                        */
                                       iconLeft?: IconName;
                                       /**
                                        * Иконка для Input right первая
                                        * @type { IconName }
                                        * @default ''
                                        */
                                       iconRightFirst?: IconName;
                                       /**
                                        * Иконка для Input right вторая
                                        * @type { IconName }
                                        * @default ''
                                        */
                                       iconRightSecond?: IconName;
                                       /**
                                        * Функция для превой иконки Input right
                                        * @type { Function }
                                        */
                                       iconRightFirstClick?: () => void;
                                       /**
                                        * Функция для второй иконки Input right
                                        * @type { Function }
                                        */
                                       iconRightSecondClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
                                       /**
                                        * Добавить `cursor: pointer` и `pointer-events: none`
                                        */
                                       clickable?: boolean;
                                       /**
                                        * Расположение label
                                        * @type 'inside' | 'top'
                                        * @default 'inside'
                                        */
                                       labelPos?: LiteralUnion<'inside' | 'top'>;
                                       /**
                                        * Расположение Tooltip для InputText
                                        * @type { 'top' | 'bottom' }
                                        * @default 'bottom'
                                        */
                                       tooltipLocation?: LiteralUnion<'top' | 'bottom'>;
                                       /**
                                        * Тип InputText
                                        * @type {'brand' | 'neutral'}
                                        * @default 'neutral'
                                        */
                                       type?: LiteralUnion<'brand' | 'neutral'>;
                                       /**
                                        * Радиус скругления
                                        * @type {'xxs'| 'xs' | 'sm' | 'md' | 'lg' | '2lg'}
                                        */
                                       radius?: LiteralUnion<'xxs' | 'xs' | 'sm' | 'md' | 'lg' | '2lg'>;
                                       /**
                                        * Пользовательские классы для элемента input
                                        */
                                       inputClassNames?: string;
                                   };

                                   export declare type InputTextRef = {
                                       inputContainerRef: HTMLElement | null;
                                       inputRef: HTMLInputElement | null;
                                   };

                                   declare type ItemProps = {
                                       type: 'item';
                                       /**
                                        * Свойства для checkboxs, доступен только колбэк на изменение.
                                        */
                                       checkbox?: Pick<CheckboxProps, 'onChange' | 'checked' | 'isIndeterminate'>;
                                       /**
                                        * Иконка слева элемента.
                                        */
                                       iconBefore?: IconName;
                                       /**
                                        * Текст заголовка
                                        */
                                       textLabel?: string;
                                       /**
                                        * Текст дополнительного описания
                                        */
                                       textCaption?: string;
                                       /**
                                        * Значение для компонента Badge
                                        */
                                       badge?: Pick<BadgeProps, 'value'>;
                                       /**
                                        * Label для Tag
                                        */
                                       tag?: Pick<TagProps, 'label'>;
                                       /**
                                        * Икнока в правой части List item
                                        */
                                       iconAfter?: IconName;
                                       /**
                                        * Состояние disabled
                                        */
                                       disabled?: boolean;
                                       /**
                                        * onClick
                                        */
                                       onClick?: () => void;
                                       /**
                                        *
                                        */
                                       rightSlot?: () => ReactNode;
                                       /**
                                        * Элемент слева от текста, рядом с иконкой
                                        */
                                       leftSlot?: () => ReactNode;
                                       /**
                                        * Переопределение стилей для комонента типа ListItem
                                        */
                                       attrOverrides?: {
                                           icon?: HTMLAttributes<HTMLDivElement>;
                                           wrapper?: HTMLAttributes<HTMLDivElement>;
                                           leftSlot?: HTMLAttributes<HTMLDivElement>;
                                           rightSlot?: HTMLAttributes<HTMLDivElement>;
                                           iconAfter?: HTMLAttributes<HTMLDivElement>;
                                           textLabel?: HTMLAttributes<HTMLDivElement>;
                                       };
                                       /**
                                        * Дополнительный текст Tooltip на весь котейнер. Приоритет над другими тултипами
                                        * @type { string }
                                        */
                                       mainTooltip?: string;
                                   };

                                   declare type LabelProps = {
                                       type: 'label';
                                       text: string;
                                   };

                                   declare type LegacyToastMessage = {
                                       severity?: 'success' | 'info' | 'warning' | 'error';
                                       title?: string;
                                       detail?: string;
                                       life?: number;
                                       sticky?: boolean;
                                       buttonProps?: {
                                           label?: string;
                                           onClick?: () => void;
                                       };
                                   };

                                   export declare const Link: ({ label, size, variant, onlyIcon, icon, iconPos, disabled, href, target, style, }: LinkProps) => JSX_2.Element;

                                   export declare type LinkProps = E_4 & {
                                       /**
                                        * Текст Link
                                        * @type { string | undefined }
                                        */
                                       label?: string | undefined;
                                       /**
                                        * Размер Link
                                        * @type { 'xxs' | 'xs' }
                                        * @default 'xxs'
                                        */
                                       size?: 'xxs' | 'xs';
                                       /**
                                        * Вариант Link
                                        * @type { 'brand' | 'neutral' }
                                        * @default 'brand'
                                        */
                                       variant?: 'brand' | 'neutral';
                                       /**
                                        * Использоватть только иконку без текста
                                        * @type { boolean }
                                        * @default false
                                        */
                                       onlyIcon?: boolean;
                                       /**
                                        * Имя иконки из икиночного сета
                                        * @type { JSX.Element }
                                        * @default ''
                                        */
                                       icon?: IconName | undefined;
                                       /**
                                        * Позиция иконки в Link
                                        * @type { 'left' | 'right' }
                                        * @default 'left'
                                        */
                                       iconPos?: 'left' | 'right' | undefined;
                                       /**
                                        * Неактивное состояние Link
                                        * @type { boolean }
                                        * @default false
                                        */
                                       disabled?: boolean | undefined;
                                       /**
                                        * Ссылка для перехода при нажатии Link
                                        * @type { string }
                                        * @default undefined
                                        */
                                       href: string;
                                       /**
                                        * target атрибут для ссылки Link
                                        * @default _self
                                        */
                                       target?: HTMLAttributeAnchorTarget;
                                   };

                                   export declare const LinkText: ({ label, size, iconBefore, iconAfter, disabled, href, target, style, clickEffect, visitedEffect, ...props }: LinkTextProps) => JSX_2.Element;

                                   export declare type LinkTextProps = E_5 & {
                                       /**
                                        * Текстовая ссылка LinkText
                                        * @type { string | undefined }
                                        */
                                       label: string;
                                       /**
                                        * Размер Link
                                        * @type { 'sm' | 'md' }
                                        * @default 'sm'
                                        */
                                       size?: LiteralUnion<'sm' | 'md'>;
                                       /**
                                        * Имя иконки (перед лейблом) из икиночного сета
                                        * @type { JSX.Element }
                                        * @default ''
                                        */
                                       iconBefore?: IconName | undefined;
                                       /**
                                        * Имя иконки (после лейбла) из икиночного сета
                                        * @type { JSX.Element }
                                        * @default ''
                                        */
                                       iconAfter?: IconName | undefined;
                                       /**
                                        * Неактивное состояние LinkText
                                        * @type { boolean }
                                        * @default false
                                        */
                                       disabled?: boolean | undefined;
                                       /**
                                        * Ссылка для перехода при нажатии Link
                                        * @type { string }
                                        * @default undefined
                                        */
                                       href: string;
                                       /**
                                        * target атрибут для ссылки Link
                                        * @default _self
                                        */
                                       target?: HTMLAttributeAnchorTarget;
                                       /**
                                        * Наличие hover и active эффекта
                                        * @type { boolean }
                                        * @default true
                                        */
                                       clickEffect?: boolean;
                                       /**
                                        * Наличие псевдокласса :visited у ссылки
                                        * @type { boolean }
                                        * @default true
                                        */
                                       visitedEffect?: boolean;
                                       onClick?: (e: React_2.MouseEvent<HTMLLinkElement> | React_2.KeyboardEvent<HTMLLinkElement>) => void;
                                   };

                                   export declare const ListItem: (props: ListItemProps) => JSX_2.Element | null;

                                   /**
                                    * Discriminated Union. В зависимости от свойства type для компонента будут допустимы разные пропсы.
                                    */
                                   export declare type ListItemProps = BaseProps & (ActionProps | LabelProps | DescriptionProps | ItemProps);

                                   declare type LiteralUnion<T extends string> = T | (string & {});

                                   export declare const Loader: ({ size, description }: LoaderProps) => JSX_2.Element;

                                   export declare interface LoaderProps {
                                       /**
                                        * Размер
                                        * @type 'sm' | 'md' | 'xs' | 'xxs'
                                        * @default 'sm'
                                        */
                                       size: LoaderSizes;
                                       /**
                                        * Текст описания
                                        * @type { string }
                                        */
                                       description?: string;
                                   }

                                   declare type LoaderSizes = 'sm' | 'md' | 'xs' | 'xxs';

                                   declare type Locale = 'ru' | 'en';

                                   declare type Margin = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11';

                                   declare type Margin_XS = '1' | '2' | '3' | '4' | '5' | '6' | '7';

                                   declare type ModalButtonProps = Omit<ButtonProps, 'size' | 'rounded' | 'badge' | 'title'>;

                                   export declare const ModalDialog: ForwardRefExoticComponent<ModalDialogProps & RefAttributes<ModalDialogRef>>;

                                   export declare type ModalDialogProps = {
                                       /**
                                        * Текст заголовка
                                        * @type { string | ReactElement}
                                        */
                                       title: string | ReactElement;
                                       /**
                                        * Текст подзаголовка
                                        * @type { string | ReactElement }
                                        */
                                       subTitle: string | ReactElement;
                                       /**
                                        * Класс корневого контейнера модального окна
                                        * @type { string }
                                        * @default undefined
                                        */
                                       className?: string;
                                       /**
                                        /**
                                        * Класс подложки за модальным окном
                                        * @type { string }
                                        * @default undefined
                                        */
                                       maskClassName?: string;
                                       /**
                                        /**
                                        * Состояние видимости модального окна
                                        * @type { boolean }
                                        */
                                       visible: boolean;
                                       /**
                                        * Положение модального окна
                                        * @type { ModalPosition }
                                        */
                                       position?: ModalPosition;
                                       /**
                                        * Событие при нажатии на иконку закрытия окна без действий
                                        * @type { Event }
                                        */
                                       onHide: Event_3;
                                       /**
                                        * Событие при нажатии на кнопку согласия
                                        * @type { Event }
                                        */
                                       onAccept?: () => void;
                                       /**
                                        * Событие при нажатии на кнопку отмены
                                        * @type { Event }
                                        */
                                       onReject?: () => void;
                                       /**
                                        * Событие при нажатии на кнопку призрак
                                        * @type { Event }
                                        */
                                       onGhost?: () => void;
                                       /**
                                        * Текст кнопки согласия
                                        * @type { string }
                                        */
                                       acceptLabel: string;
                                       /**
                                        * Текст кнопки отмены
                                        * @type { string }
                                        */
                                       rejectLabel: string;
                                       /**
                                        * Текст кнопки призрак
                                        * @type { string | undefined }
                                        */
                                       ghostLabel?: string;
                                       /**
                                        * Props для кнопки призрака (визуал, иконки, состояния)
                                        * Для компонента в десктоп версии используется компонент LinkText
                                        * @type { ModalButtonProps | ModalLinkTextProps }
                                        */
                                       ghostButtonProps?: ModalButtonProps | ModalLinkTextProps;
                                       /**
                                        * Props для кнопки отмены (визуал, иконки, состояния)
                                        * @type { ModalButtonProps }
                                        */
                                       rejectButtonProps?: ModalButtonProps;
                                       /**
                                        * Props для кнопки принять (визуал, иконки, состояния)
                                        * @type { ModalButtonProps }
                                        */
                                       acceptButtonProps?: ModalButtonProps;
                                       /**
                                        * Размер (ширина) модального окна
                                        * @type { 'sm' | 'md' | 'lg' | '80vw' }
                                        * @default 'md'
                                        */
                                       size?: LiteralUnion<'sm' | 'md' | 'lg' | '80vw'>;
                                       /**
                                        * Инстанс элемента DOM, куда будет монтирован компонент ModalDialog.
                                        * Допустимые значения —  любой элемент DOM и "self".
                                        * Значение "self" используется для рендеринга компонента там, где он расположен.
                                        */
                                       appendTo?: AppendToType;
                                       /**
                                        * Дочерние компоненты или текстовая строка
                                        * @type { string | ReactNode }
                                        */
                                       children?: ReactNode | string;
                                       /**
                                        * Закрывать ModalDialog при нажатии вне компонента
                                        * @type { boolean }
                                        * @default true
                                        */
                                       dismissableMask?: boolean;
                                       /**
                                        * ModalDialod c иконкой статуса (Alert)
                                        * @type { 'info' | 'success' | 'warning' | 'error' }
                                        */
                                       typeIconAlert?: 'info' | 'success' | 'warning' | 'error';
                                   };

                                   declare type ModalDialogRef = {
                                       /**
                                        * Скрывать иконку закрытия
                                        */
                                       removeCloseButton?: () => void;
                                       /**
                                        * Скрывать footer
                                        */
                                       hideFooter?: () => void;
                                       /**
                                        * Показывать иконку закрытия
                                        * @default true
                                        */
                                       displayCloseButton?: () => void;
                                       /**
                                        * Получить контейнер компонента ModalDialog
                                        */
                                       getElement?: () => void;
                                   };

                                   declare type ModalLinkTextProps = Omit<LinkTextProps, 'label' | 'size' | 'contrast' | 'href' | 'target'>;

                                   declare type ModalPosition = ConfirmDialogProps['position'];

                                   export declare const MultiSelect: ({ label, caption, placeholder, size, disabled, value, options, group, state, icon, labelPos, required, menuPlacement, filter, footerText, footerTemplate: propsFooterTemplate, iconClose, visiblePanelOverlayWithChips, scrollHeight, filterInputPlaceholder, visibleHeaderCheckboxAll, virtualScroller, onChange, onFocus, onBlur, ...props }: MultiSelectProps) => JSX_2.Element;

                                   /**
                                    * Группа выпадающего списка
                                    */
                                   declare interface MultiSelectGroup {
                                       /**
                                        * Название группы
                                        * @type string
                                        */
                                       label?: string;
                                       /**
                                        * Элементы группы
                                        * @type AutoCompleteItem[]
                                        */
                                       items?: MultiSelectItem[];
                                   }

                                   /**
                                    * Элемент выпадающего списка
                                    */
                                   export declare interface MultiSelectItem {
                                       /**
                                        * Отображаемое название элемента
                                        * @type string
                                        */
                                       label: string;
                                       /**
                                        * Ключ для элемента
                                        * @type string
                                        */
                                       value: string;
                                       /**
                                        * Подсказка для элемента
                                        * @type string
                                        */
                                       caption?: string;
                                       /**
                                        * Элемент заблокирован для выбора
                                        * @type boolean
                                        * @default false
                                        */
                                       disabled?: boolean;
                                       /**
                                        * Идентификатор элемента
                                        * @type string
                                        */
                                       id?: string;
                                   }

                                   /**
                                    * Элементы выпадающего списка
                                    */
                                   export declare type MultiSelectOptions = MultiSelectItem[] | MultiSelectGroup[];

                                   /**
                                    * Свойства для MultiSelect
                                    */
                                   export declare interface MultiSelectProps {
                                       /**
                                        * Значение MultiSelect useState
                                        * @type { MultiSelectItem[] }
                                        */
                                       value: MultiSelectItem[] | [];
                                       /**
                                        * Список предложений
                                        * @type { MultiSelectOptions }
                                        */
                                       options?: MultiSelectOptions;
                                       /**
                                        * Список предложений в виде групп
                                        * @type { boolean }
                                        * @default false
                                        */
                                       group?: boolean;
                                       /**
                                        * Позиция выпадающего списка
                                        * @type 'bottom' | 'auto'
                                        * @default 'auto'
                                        */
                                       menuPlacement?: 'bottom' | 'auto';
                                       /**
                                        * Заголовок для поля ввода
                                        * @type { string | undefined }
                                        * @default ''
                                        */
                                       label?: string;
                                       /**
                                        * Размер текстового поля
                                        * @type { 'sm' | md' | 'lg' | 'xl' }
                                            * @default 'lg'
                                            */
                                        size?: LiteralUnion<'sm' | 'md' | 'lg' | 'xl'>;
                                        /**
                                         * Подсказка к полю
                                         * @type { string }
                                         * @default ''
                                         */
                                        caption?: string;
                                        /**
                                         * Заполнение к полю
                                         * @type { string }
                                         * @default ''
                                         */
                                        placeholder?: string;
                                        /**
                                         * Неактивное поле
                                         * @type { boolean }
                                         * @default false
                                         */
                                        disabled?: boolean;
                                        /**
                                         * Обязательное поле (отображение знака *)
                                         * @type { boolean }
                                         * @default false
                                         */
                                        required?: boolean;
                                        /**
                                         * Иконка
                                         * @type { string }
                                         * @default ''
                                         */
                                        icon?: string;
                                        /**
                                         * Состояние компонента
                                         * @type { 'default' | 'error' | 'warning' | 'success' }
                                         * @default 'default'
                                         */
                                        state?: 'default' | 'error' | 'warning' | 'success';
                                        /**
                                         * Расположение label
                                         * @type { 'inside' | 'top' }
                                         * @default 'inside'
                                         */
                                        labelPos?: 'inside' | 'top';
                                        /**
                                         * Показывать Filter для поиска элементов
                                         * @type { boolean }
                                         * @default false
                                         */
                                        filter?: boolean;
                                        /**
                                         * Текст footer
                                         * @type { string }
                                         * @default: ''
                                         */
                                        footerText?: string;
                                        /**
                                         * Template footer
                                         * @type { React.ReactElement | string }
                                         */
                                        footerTemplate?: React.ReactElement | string;
                                        /**
                                         * Иконка удаления всех элементов из поля
                                         * @type { boolean }
                                         */
                                        iconClose?: boolean;
                                        /**
                                         * Позиция монтирования компонента. Если не задано - по умолчанию
                                         * компонент будет монтироваться в document.body
                                         * @type { AppendToType }
                                         * @default document.body
                                         */
                                        appendTo?: AppendToType;
                                        /**
                                         * Высота списка с опциями. Пример scrollHeight='400px'
                                         * @type { string }
                                         */
                                        scrollHeight?: string;
                                        /**
                                         * Показывать PanelOverlay при клике на счётчик в компоненте (Beta)
                                         * @type { boolean }
                                         * @default false
                                         */
                                        visiblePanelOverlayWithChips?: boolean;
                                        /**
                                         * Placeholder для поля фильтра в списке
                                         * @type { string }
                                         * @default 'Поиск'
                                         */
                                        filterInputPlaceholder?: string;
                                        /**
                                         * Checkbox для выбора всех элементов
                                         * @type { boolean }
                                         * @default true
                                         */
                                        visibleHeaderCheckboxAll?: boolean;
                                        /**
                                         * Функция для обновления состояния useState
                                         * @param value: MultiSelectItem выбраннный элемент из списка
                                         */
                                        onChange: (value: MultiSelectItem | MultiSelectItem[]) => void;
                                        /**
                                         * Событие фокуса инпута
                                         */
                                        onFocus?: () => void;
                                        /**
                                         * Событие потери фокуса инпута
                                         */
                                        onBlur?: () => void;
                                        /**
                                         * Виртуализация списка
                                         * @type { boolean }
                                         * @default true
                                         */
                                        virtualScroller?: boolean;
                                       }

                                       declare type Offsets = {
                                           /**
                                            * Margin элемента. Максимум 7 колонок
                                            * @type { Margin_XS }
                                            */
                                           xs?: Margin_XS;
                                           /**
                                            * Margin элемента. Максимум 11 колонок
                                            * @type { Margin }
                                            */
                                           sm?: Margin;
                                           /**
                                            * Margin элемента. Максимум 11 колонок
                                            * @type { Margin }
                                            */
                                           md?: Margin;
                                           /**
                                            * Margin элемента. Максимум 11 колонок
                                            * @type { Margin }
                                            */
                                           lg?: Margin;
                                           /**
                                            * Margin элемента. Максимум 11 колонок
                                            * @type { Margin }
                                            */
                                           xl?: Margin;
                                       };

                                       declare type OptionsWithAction = ToasterProps & {
                                           actions?: Action;
                                       };

                                       /**
                                        * Компонент Pagination для постраничной навигации
                                        */
                                       export declare const Pagination: React_2.ForwardRefExoticComponent<PaginationProps & React_2.RefAttributes<PaginationRefHandle>>;

                                       export declare interface PaginationProps {
                                           /**
                                            * Общее количество записей
                                            */
                                           totalRecords: number;
                                           /**
                                            * Начальный номер страницы
                                            */
                                           defaultPage?: number;
                                           /**
                                            * Количество записей на странице
                                            */
                                           rows: number;
                                           /**
                                            * Текущая первая запись (для пагинации)
                                            */
                                           first: number;
                                           /**
                                            * Обработчик изменения страницы
                                            */
                                           onPageChange: (event: {
                                               first: number;
                                               rows: number;
                                               page: number;
                                               pageCount: number;
                                           }) => void;
                                           /**
                                            * Массив вариантов количества записей на странице
                                            */
                                           rowsPerPageOptions?: {
                                               label: string;
                                               value: number;
                                           }[];
                                           /**
                                            * Дополнительные классы для компонента
                                            */
                                           className?: string;
                                           /**
                                            * Управление отображением инпута в пагинации
                                            * @type { boolean }
                                            * @default true
                                            */
                                           visibleInput?: boolean;
                                           /**
                                            * Управление отображением текста диапазона строк в пагинации
                                            * @type { boolean }
                                            * @default true
                                            */
                                           visibleTextRange?: boolean;
                                           /**
                                            * Управление отображением списка видимых элементов на странице в пагинации
                                            * @type { boolean }
                                            * @default true
                                            */
                                           visibleDropdown?: boolean;
                                           /**
                                            * Скрывать список страниц и поле ввода страниц, если для выбора доступна 1 страница
                                            * @type { boolean }
                                            */
                                           hiddenInterfaceForOnePage?: boolean;
                                           /**
                                            * Позиция монтирования компонента rowsPerPage (выпадающего списка для выбора количества страниц)
                                            * Если не задано - по умолчанию компонент будет монтироваться в document.body
                                            * @type { AppendToType }
                                            * @default document.body
                                            */
                                           appendTo?: AppendToType;
                                       }

                                       /**
                                        * Интерфейс для доступа к методам и состоянию компонента Pagination через ref
                                        */
                                       declare interface PaginationRefHandle {
                                           /**
                                            * Объект с текущим состоянием пагинации
                                            */
                                           state: {
                                               /** Текущая страница */
                                               currentPage: number;
                                               /** Общее количество записей */
                                               totalRecords: number;
                                               /** Количество записей на странице */
                                               rowsPerPage: number;
                                               /** Индекс первой записи на текущей странице */
                                               firstRowIndex: number;
                                               /** Общее количество страниц */
                                               totalPages: number;
                                           };
                                           /**
                                            * Метод для установки текущей страницы
                                            */
                                           setPage: (page: number) => void;
                                           /**
                                            * Метод для установки количества записей на странице
                                            */
                                           setRowsPerPage: (rows: number) => void;
                                       }

                                       export declare const PanelOverlay: ({ children, panelOverlayRef, visibleShadow, alignOnScroll, customPosition, hideOnScroll, ...props }: PanelOverlayProps) => JSX_2.Element;

                                       export declare type PanelOverlayMethods = {
                                           /**
                                            * Функция для управления состоянием PanelOverlay
                                            * @type { (e) => ref.current.toggle(e) }
                                                */
                                            toggle: (e: Event) => void;
                                            /**
                                             * Функция для открытия PanelOverlay
                                             * @type { (e) => ref.current.show(e) }
                                                 */
                                             show: (e: Event) => void;
                                             /**
                                              * Функция для закрытия PanelOverlay
                                              * @type { () => ref.current.hide() }
                                                  */
                                              hide: (e: Event) => void;
                                              /**
                                               * Пересчет положения выпадающей панели
                                               * @type { () => ref.current.hide() }
                                                   */
                                               align: () => void;
                                              };

                                              export declare type PanelOverlayProps = {
                                                  /**
                                                   * useRef PanelOverlay элемента
                                                   * @type { MutableRefObject<PanelOverlayMethods | null> }
                                                   */
                                                  panelOverlayRef: MutableRefObject<PanelOverlayMethods | null>;
                                                  /**
                                                   * Дочерние компоненты PanelOverlay
                                                   * @type { ReactNode }
                                                   */
                                                  children: ReactNode;
                                                  /**
                                                   * Показать тень для PanelOverlay
                                                   * @type { boolean }
                                                   * @default false
                                                   */
                                                  visibleShadow?: boolean;
                                                  /**
                                                   * Пользовательские CSS классы
                                                   */
                                                  className?: string;
                                                  /**
                                                   * Пересчет положения выпадающей панели при скролле
                                                   * @type { boolean }
                                                   * @default true
                                                   */
                                                  alignOnScroll?: boolean;
                                                  /**
                                                   * Callback открытия PanelOverlay
                                                   */
                                                  onShow?: () => void;
                                                  /**
                                                   * Callback закрытия PanelOverlay
                                                   */
                                                  onHide?: () => void;
                                                  /**
                                                   * Позиция монтирования компонента. Если не задано - по умолчанию
                                                   * компонент будет монтироваться в document.body
                                                   * @type { AppendToType }
                                                   * @default document.body
                                                   */
                                                  appendTo?: AppendToType;
                                                  /**
                                                   * Кастомная позиционирование компонента
                                                   * @type { CustomPositionProps }
                                                   */
                                                  customPosition?: CustomPositionProps_2;
                                                  /**
                                                   * Закрывать PanelOverlay при скролле
                                                   * @type { boolean }
                                                   * @default false
                                                   */
                                                  hideOnScroll?: boolean;
                                              };

                                              export declare const Popover: React_2.ForwardRefExoticComponent<Omit<PopoverProps, "ref"> & React_2.RefAttributes<PopoverRefMethods>>;

                                              export declare type PopoverProps = {
                                                  /**
                                                   * Текст заголовка
                                                   * @type { string }
                                                   */
                                                  title: string;
                                                  /**
                                                   * Текст подзаголовка
                                                   * @type { string }
                                                   */
                                                  subTitle?: string;
                                                  /**
                                                   * Дочерние компоненты PanelOverlay
                                                   * @type { string | React.ReactElement }
                                                   */
                                                  children?: React.ReactElement | string;
                                                  /**
                                                   * Показать тень для PanelOverlay
                                                   * @type { boolean }
                                                   * @default false
                                                   */
                                                  visibleShadow?: boolean;
                                                  /**
                                                   * Расположение Popover
                                                   * @type { 'top-left' | 'top' | 'top-right' | 'bottom-left' | 'bottom' |
                                                       *  'bottom-right' | 'left-top' | 'left' | 'left-bottom' | 'right-top' |  'right' | 'right-bottom' }
                                                   */
                                                  location?: LiteralUnion<'top-left' | 'top' | 'top-right' | 'bottom-left' | 'bottom' | 'bottom-right' | 'left-top' | 'left' | 'left-bottom' | 'right-top' | 'right' | 'right-bottom'>;
                                                  /**
                                                   * Event элемента, который открывает Popover. Данный параметр необходимо передать при выборе расположения компонента Popover (location)
                                                   * Пример использования:
                                                   * const [event, setEvent] = useState(null);
                                                   * <Элемент открывающий Popover onClick={(e) => { setEvent(e); ref.current.toggle(e); }}/>
                                                   * <Popover event={event} {...args} />
                                                   * @type { React.SyntheticEvent }
                                                   */
                                                  event: React.SyntheticEvent;
                                                  /**
                                                   * Текст для кнопки Popover
                                                   * @type { string }
                                                   * @default ''
                                                   */
                                                  labelButton?: ButtonProps['label'];
                                                  /**
                                                   * Событие onClick для кнопки Button в Popover
                                                   * @type { () => void }
                                                   */
                                                  onClickButton?: ButtonProps['onClick'];
                                                  /**
                                                   * Имя кнопки из иконочного сета
                                                   * @type { JSX.Element }
                                                   * @default ''
                                                   */
                                                  iconButton?: ButtonProps['icon'];
                                                  /**
                                                   * Позиция иконки в кнопке. Применяется когда установлено свойство icon.
                                                   * @type { 'left' | 'right' }
                                                   * @default left
                                                   */
                                                  iconPosButton?: ButtonProps['iconPos'];
                                                  /**
                                                   * Элемент в состоянии не активный
                                                   * @default false
                                                   */
                                                  disabledButton?: ButtonProps['disabled'];
                                                  /**
                                                   * Отображать иконку загрузки и перевести кнопку в состояние загрузка
                                                   * @default false
                                                   */
                                                  loadingButton?: ButtonProps['loading'];
                                                  /**
                                                   * Текст для ссылки в Popover
                                                   * @type { string }
                                                   * @default ''
                                                   */
                                                  labelLink?: string;
                                                  /**
                                                   * Ссылка для перехода при нажатии Link в Popover
                                                   * @type { string }
                                                   * @default undefined
                                                   */
                                                  href?: string;
                                                  /**
                                                   * target атрибут для ссылки Link в Popover
                                                   * @default _self
                                                   */
                                                  target?: HTMLAttributeAnchorTarget;
                                                  /**
                                                   * Callback открытия PanelOverlay
                                                   */
                                                  onShow?: () => void;
                                                  /**
                                                   * Callback закрытия PanelOverlay
                                                   */
                                                  onHide?: () => void;
                                                  /**
                                                   * Позиция монтирования компонента. Если не задано - по умолчанию
                                                   * компонент будет монтироваться в document.body
                                                   * @type { AppendToType }
                                                   * @default document.body
                                                   */
                                                  appendTo?: AppendToType;
                                                  /**
                                                   * Кнопка закрытия Popover
                                                   * @type { boolean }
                                                   * @default true
                                                   */
                                                  buttonClose?: boolean;
                                                  /**
                                                   * useRef PanelOverlay элемента
                                                   * @type { MutableRefObject<null> }
                                                   */
                                                  ref: MutableRefObject<null>;
                                              };

                                              export declare type PopoverRefMethods = {
                                                  /**
                                                   * Функция для управления состоянием PanelOverlay
                                                   * @type { (e) => ref.current.toggle(e) }
                                                       */
                                                   toggle?: (e: any) => void;
                                                   /**
                                                    * Функция для открытия PanelOverlay
                                                    * @type { (e) => ref.current.show(e) }
                                                        */
                                                    show?: (e: any) => void;
                                                    /**
                                                     * Функция для закрытия PanelOverlay
                                                     * @type { () => ref.current.hide() }
                                                         */
                                                     hide?: () => void;
                                                     /**
                                                      * Компонент Popover
                                                      */
                                                     getElement?: () => HTMLElement;
                                                    };

                                                    export declare const Popup: React_2.ForwardRefExoticComponent<PopupProps & React_2.RefAttributes<unknown>>;

                                                    export declare type PopupProps = {
                                                        /**
                                                         * Состояние видимости popup
                                                         * @type { boolean }
                                                         */
                                                        visible: boolean;
                                                        /**
                                                         * Положение popup
                                                         * @type { 'center' | 'left' | 'top' | 'bottom' | 'right' | 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' }
                                                         */
                                                        position?: LiteralUnion<'center' | 'left' | 'top' | 'bottom' | 'right' | 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'>;
                                                        /**
                                                         * Размер (ширина) popup
                                                         * @type { string }
                                                         */
                                                        size: LiteralUnion<'sm' | 'md' | 'lg'>;
                                                        /**
                                                         * Инстанс элемента DOM, куда будет монтирован компонент popup.
                                                         * Допустимые значения —  любой элемент DOM и "self".
                                                         * Значение "self" используется для рендеринга компонента там, где он расположен.
                                                         */
                                                        appendTo?: AppendToType;
                                                        /**
                                                         * Дочерние компоненты или текстовая строка
                                                         * @type { string | React.ReactElement }
                                                         */
                                                        children?: React.ReactElement | string;
                                                        /**
                                                         * className для компонента Popup
                                                         * @type { string }
                                                         */
                                                        className?: string;
                                                        /**
                                                         * Событие при нажатии на иконку закрытия окна без действий
                                                         * @type { Event }
                                                         */
                                                        onHide?: Event_5;
                                                    };

                                                    export declare const Portal: (props: PortalProps) => JSX_2.Element | null;

                                                    export declare type PortalProps = {
                                                        appendTo?: AppendToType;
                                                        children?: React.ReactNode;
                                                    };

                                                    export declare const ProgressBar: ({ size, type, label, loadPercentage, hiddenTextPercentage, ...props }: ProgressBarProps) => JSX_2.Element;

                                                    export declare type ProgressBarProps = HTMLAttributes<HTMLDivElement> & {
                                                        /**
                                                         * Размер ProgresBar
                                                         * @type { 'md' | 'lg' }
                                                         * @default 'md'
                                                         */
                                                        size?: LiteralUnion<'md' | 'lg'>;
                                                        /**
                                                         * Тип компонента ProgresBar
                                                         *  @default 'default'
                                                         */
                                                        type?: LiteralUnion<'default' | 'error' | 'warning' | 'success' | 'loading' | 'loop-loading'>;
                                                        /**
                                                         * Label ProgresBar
                                                         * @type { string }
                                                         */
                                                        label?: string;
                                                        /**
                                                         * % загрузки
                                                         * @type { number }
                                                         */
                                                        loadPercentage?: number;
                                                        /**
                                                         * Скрыть текст с отображением процента загрузки
                                                         * @type { boolean }
                                                         */
                                                        hiddenTextPercentage?: boolean;
                                                    };

                                                    declare type Props = {
                                                        value: Pick<StateValue, 'theme'> & Partial<StateValue>;
                                                        children?: ReactNode | undefined;
                                                    };

                                                    declare interface Props_2 extends ListBoxProps {
                                                        /**
                                                         * Размер Action Menu
                                                         * @type { 'sm' | 'md' }
                                                         * @default 'sm'
                                                         */
                                                        size: LiteralUnion<'sm' | 'md'>;
                                                        /**
                                                         * Поиск в списке
                                                         * @type { boolean }
                                                         * @default false
                                                         */
                                                        filter?: boolean | undefined;
                                                        /**
                                                         * Конпка сброса фильтра
                                                         * @type { boolean }
                                                         * @default false
                                                         */
                                                        clearFilter?: boolean | undefined;
                                                        /**
                                                         * Список с группой
                                                         * @type { boolean }
                                                         * @default false
                                                         */
                                                        group?: boolean | undefined;
                                                        /**
                                                         * Аргумент который принимает значение "True", при использовании компонента AutoSelect
                                                         * @type { boolean }
                                                         */
                                                        autoComplete?: boolean;
                                                        /**
                                                         * Показать состояние загрузки
                                                         * @type { boolean }
                                                         * @default false
                                                         */
                                                        loading?: boolean;
                                                    }

                                                    export declare const RadioButton: (props: RadioButtonProps) => JSX_2.Element;

                                                    export declare const RadioButtonGroup: (props: RadioButtonGroupProps) => JSX_2.Element;

                                                    export declare type RadioButtonGroupProps = {
                                                        label?: string;
                                                        caption?: string;
                                                        options: RadioButtonProps[];
                                                        value: string | number;
                                                        animation?: boolean;
                                                        onChange?: (value: Partial<RadioButtonChangeEvent>) => void;
                                                        /**
                                                         * @default 'md'
                                                         */
                                                        size?: LiteralUnion<'md' | 'lg'>;
                                                        /**
                                                         * @default 'column'
                                                         */
                                                        direction?: LiteralUnion<'column' | 'row'>;
                                                        /**
                                                         * @type { 'left' | 'right' }
                                                         * @default 'right'
                                                         */
                                                        tooltipIcon?: 'left' | 'right';
                                                        /**
                                                         * Состояние Error для CheckBox Group
                                                         * @type { boolean }
                                                         * @default false
                                                         */
                                                        error?: boolean;
                                                        /**
                                                         * Элементы группы в состоянии не активный
                                                         * @type { boolean }
                                                         */
                                                        disabled?: boolean;
                                                        /**
                                                         * Имя группы радиокнопок.
                                                         * @type { string }
                                                         */
                                                        name?: string | undefined;
                                                    };

                                                    export declare type RadioButtonProps = {
                                                        /** RadioButton  */
                                                        /**
                                                         * @default 'md'
                                                         */
                                                        size?: LiteralUnion<'md' | 'lg'>;
                                                        /**
                                                         * @default false
                                                         */
                                                        disabled?: boolean;
                                                        label?: string;
                                                        caption?: string;
                                                        /**
                                                         * @default false
                                                         */
                                                        showHelpIcon?: boolean;
                                                        /**
                                                         * @default false
                                                         */
                                                        accesabilityHover?: boolean;
                                                        value: string | number;
                                                        /**
                                                         * @default false
                                                         */
                                                        checked?: boolean;
                                                        /**
                                                         * @default true
                                                         */
                                                        animation?: boolean;
                                                        /**
                                                         * Состояние error для компонента
                                                         * @type { boolean }
                                                         */
                                                        error?: boolean;
                                                        /**
                                                         * @type { 'left' | 'right' }
                                                         * @default 'right'
                                                         */
                                                        tooltipIcon?: 'left' | 'right';
                                                        /** Tooltip */
                                                        /**
                                                         * @default 'sm
                                                         */
                                                        sizeTooltip?: SharedTooltipProps['sizeTooltip'];
                                                        labelTooltip?: SharedTooltipProps['labelTooltip'];
                                                        /**
                                                         * @default 'top'
                                                         */
                                                        locationTooltip?: SharedTooltipProps['locationTooltip'];
                                                        /**
                                                         * @default true
                                                         */
                                                        directionTooltip?: SharedTooltipProps['directionTooltip'];
                                                        contrastTooltip?: SharedTooltipProps['contrastTooltip'];
                                                        enterHoverDelayTooltip?: SharedTooltipProps['enterHoverDelay'];
                                                        /** Popover */
                                                        titlePopover?: SharedPopoverProps['titlePopover'];
                                                        subTitlePopover?: SharedPopoverProps['subTitlePopover'];
                                                        /**
                                                         * @default top
                                                         */
                                                        locationPopover?: SharedPopoverProps['locationPopover'];
                                                        childrenPopover?: SharedPopoverProps['childrenPopover'];
                                                        labelButtonPopover?: SharedPopoverProps['labelButtonPopover'];
                                                        iconButtonPopover?: SharedPopoverProps['iconButtonPopover'];
                                                        iconPosButtonPopover?: SharedPopoverProps['iconPosButtonPopover'];
                                                        loadingButtonPopover?: SharedPopoverProps['loadingButtonPopover'];
                                                        disabledButtonPopover?: SharedPopoverProps['disabledButtonPopover'];
                                                        onClickButtonPopover?: () => void;
                                                        labelLinkPopover?: SharedPopoverProps['labelLinkPopover'];
                                                        hrefPopover?: SharedPopoverProps['hrefPopover'];
                                                        targetPopover?: SharedPopoverProps['targetPopover'];
                                                        buttonClosePopover?: SharedPopoverProps['buttonClosePopover'];
                                                        /**
                                                         * Позиция монтирования компонента Tooltip или Popover. Если не задано - по умолчанию
                                                         * компонент будет монтироваться в document.body
                                                         * @type { AppendToType }
                                                         * @default document.body
                                                         */
                                                        appendTo?: AppendToType;
                                                        /** Handlers */
                                                        onChange?: (state: boolean) => void;
                                                    };

                                                    export declare function removeToast(id: Id): void;

                                                    export declare function removeToasts(ids: Id[]): void;

                                                    export declare const Row: ({ children, ...attributes }: RowProps) => JSX_2.Element;

                                                    export declare type RowProps = HTMLAttributes<HTMLDivElement> & {
                                                        /**
                                                         * Children для строки ( Компоненты "Col" ).
                                                         */
                                                        children?: React.ReactElement | React.ReactElement[];
                                                    };

                                                    export declare const SearchList: ({ onQueryChange, options, onSelect, query, setQuery, selectedOption, setSelectedOption, }: SearchListProps) => JSX_2.Element;

                                                    export declare type SearchListProps = {
                                                        onQueryChange?: (query: string) => void;
                                                        onSelect?: (value: string) => void;
                                                        options?: Array<{
                                                            label: string;
                                                            value: string;
                                                        }>;
                                                        query?: string;
                                                        setQuery: (query: string) => void;
                                                        selectedOption: string;
                                                        setSelectedOption: (option: string) => void;
                                                    };

                                                    export { Select }

                                                    declare interface SelectClassNames {
                                                        /**
                                                         * CSS-класс корневого контейнера Select
                                                         */
                                                        root?: string;
                                                        /**
                                                         * CSS-класс выпадающего меню
                                                         */
                                                        dropdown?: string;
                                                        /**
                                                         * CSS-класс контейнера поля ввода
                                                         */
                                                        input?: string;
                                                    }

                                                    export declare const SelectControl: React_2.ForwardRefExoticComponent<SelectControlProps & React_2.RefAttributes<unknown>>;

                                                    declare interface SelectControlCallbacks {
                                                        /**
                                                         * Обработчик изменения значения
                                                         * @type (value: SelectControlStateType) => void
                                                         */
                                                        onChange?: (value: SelectControlStateType) => void;
                                                    }

                                                    /**
                                                     *  Опции компонента SelectControl
                                                     */
                                                    export declare interface SelectControlOptions {
                                                        /**
                                                         * Значение
                                                         * @type SelectControlStateType
                                                         */
                                                        value: SelectControlStateType;
                                                        /**
                                                         * Название лейбла или название иконки из иконочного сета, когда onlyIcon = true
                                                         */
                                                        name: string;
                                                        /**
                                                         * Заблокированный элемент
                                                         * @type boolean
                                                         */
                                                        disabled?: boolean;
                                                        /**
                                                         * Всплывающая подсказка
                                                         * @type string
                                                         */
                                                        tooltip?: string;
                                                        /**
                                                         * Badge
                                                         * @type { string }
                                                         */
                                                        badge?: string;
                                                    }

                                                    /**
                                                     * Входные параметры для компонента SelectControl
                                                     */
                                                    export declare interface SelectControlProps extends SelectControlCallbacks {
                                                        /**
                                                         * Размеры компонента
                                                         * @type 'sm' | 'md' | 'lg' | 'xl'
                                                         * @default 'md'
                                                         */
                                                        size: LiteralUnion<'sm' | 'md' | 'lg' | 'xl'>;
                                                        /**
                                                         * Значение выбранного элемента
                                                         * @type SelectControlStateType
                                                         * @default ''
                                                         */
                                                        value: SelectControlStateType;
                                                        /**
                                                         * Набор элементов в списке
                                                         * @type SelectControlOptions[]
                                                         * @default []
                                                         */
                                                        options: SelectControlOptions[];
                                                        /**
                                                         * Отображение в виде иконок
                                                         * @type boolean
                                                         * @default false
                                                         */
                                                        onlyIcon?: boolean;
                                                        /**
                                                         * Радиус скругления
                                                         * @type {'xxs'| 'xs' | 'sm' | 'md' | 'lg' | '2lg'}
                                                         * @default 'xxs'
                                                         */
                                                        radius?: 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | '2lg';
                                                        /**
                                                         * Вариант цвета компонента
                                                         * @type { 'default' | 'contrast' }
                                                         * @default 'default'
                                                         */
                                                        variant?: LiteralUnion<'default' | 'contrast'>;
                                                        /**
                                                         * Компонент используется как switch.
                                                         * Данная опция является внутренним параметром компонента и не добавляется пропсом при использовании
                                                         * @type { boolean }
                                                         * @default false
                                                         */
                                                        selectControlSwitch?: boolean;
                                                        /**
                                                         * Пользовательские CSS классы для контейнера
                                                         */
                                                        className?: string;
                                                        /**
                                                         * Ширина опции в SelectControl
                                                         * @type { 'equal' | 'content' }
                                                         * @default 'equal'
                                                         */
                                                        typeWidthItem?: 'equal' | 'content';
                                                    }

                                                    /**
                                                     * Тип состояния компонента SelectControl
                                                     */
                                                    export declare type SelectControlStateType = string;

                                                    export declare const SelectControlSwitch: ForwardRefExoticComponent<SelectControlSwitchProps & RefAttributes<unknown>>;

                                                    /**
                                                     * Кортеж, в качестве опций в данный компонент может быть передано ровно два элемента.
                                                     */
                                                    export declare type SelectControlSwitchOptions = [SelectControlOptions, SelectControlOptions];

                                                    /**
                                                     * Пропсы полностью идентичны пропсам компонента SelectControl
                                                     */
                                                    export declare interface SelectControlSwitchProps extends SelectControlProps {
                                                        options: SelectControlSwitchOptions;
                                                    }

                                                    declare type SelectDropdownMenuProps = Pick<Props_2, 'options'> & Partial<Pick<Props_2, 'group' | 'filter' | 'clearFilter'>>;

                                                    declare type SelectDropdownMenuProps_2 = Pick<Props_2, 'options'> & Partial<Pick<Props_2, 'group'>>;

                                                    declare type SelectInputProps = Pick<InputTextProps, 'size' | 'label' | 'labelPos' | 'readonly' | 'iconLeft' | 'radius' | 'inputClassNames'> & Partial<Pick<Props_2, 'caption' | 'placeholder' | 'disabled' | 'required' | 'error' | 'warning' | 'success'>>;

                                                    export declare type SelectProps = SelectInputProps & SelectDropdownMenuProps & {
                                                        /**
                                                         * Выбранное значение для выпадающего списка
                                                         */
                                                        value?: string | undefined;
                                                        /**
                                                         * CSS-классы для внутренних частей компонента Select
                                                         */
                                                        classNames?: SelectClassNames;
                                                        /**
                                                         * Событие обновления значения выпадающего списка
                                                         * @param value: string ключ значения из списка
                                                         *
                                                         */
                                                        onChange: (value: string) => void;
                                                        /**
                                                         * Позиция выпадающего списка
                                                         * @type 'bottom' | 'auto'
                                                         * @default 'auto'
                                                         */
                                                        menuPlacement?: LiteralUnion<'bottom' | 'auto'>;
                                                        /**
                                                         * Кастомное сообщение в случае отстутствия опций в выпадающем списке
                                                         * @type { string }
                                                         */
                                                        emptyMessage?: string;
                                                        /**
                                                         * Кнопка очистки поля
                                                         * @type { boolean }
                                                         */
                                                        clearIcon?: boolean;
                                                        /**
                                                         * Placeholder для поля фильтра в списке
                                                         * @type { string }
                                                         * @default 'Поиск'
                                                         */
                                                        filterInputPlaceholder?: string;
                                                        /**
                                                         * Callback нажатия на кнопку очистки поля
                                                         */
                                                        clearIconChange?: () => void;
                                                        /**
                                                         * Кастомная позиционирование компонента
                                                         * @type { CustomPositionProps }
                                                         */
                                                        customPosition?: CustomPositionProps;
                                                        /**
                                                         * Высота списка
                                                         * @type { 'default' | 'w-fit' }
                                                         * @default 'default'
                                                         */
                                                        listHeight?: 'default' | 'w-fit';
                                                        /**
                                                         * Позиция монтирования компонента. Если не задано - по умолчанию
                                                         * компонент будет монтироваться в document.body
                                                         * @type { AppendToType }
                                                         * @default document.body
                                                         */
                                                        appendTo?: AppendToType;
                                                    };

                                                    declare type SharedPopoverProps = {
                                                        /**
                                                         * Текст заголовка
                                                         * @type { string }
                                                         */
                                                        titlePopover?: string;
                                                        /**
                                                         * Текст подзаголовка
                                                         * @type { string }
                                                         */
                                                        subTitlePopover?: string;
                                                        /**
                                                         * Дочерние компоненты PanelOverlay
                                                         * @type { string | React.ReactElement }
                                                         */
                                                        childrenPopover?: React.ReactElement | string;
                                                        /**
                                                         * Расположение Popover
                                                         * @type { 'top-left' | 'top' | 'top-right' | 'bottom-left' | 'bottom' |
                                                             *  'bottom-right' | 'left-top' | 'left' | 'left-bottom' | 'right-top' |  'right' | 'right-bottom' }
                                                         */
                                                        locationPopover?: LiteralUnion<'top-left' | 'top' | 'top-right' | 'bottom-left' | 'bottom' | 'bottom-right' | 'left-top' | 'left' | 'left-bottom' | 'right-top' | 'right' | 'right-bottom'>;
                                                        /**
                                                         * Текст для кнопки Popover
                                                         * @type { string }
                                                         * @default ''
                                                         */
                                                        labelButtonPopover?: ButtonProps['label'];
                                                        /**
                                                         * Событие onClick для кнопки Button в Popover
                                                         * @type { () => void }
                                                         */
                                                        onClickButtonPopover?: ButtonProps['onClick'];
                                                        /**
                                                         * Имя кнопки из иконочного сета
                                                         * @type { JSX.Element }
                                                         * @default ''
                                                         */
                                                        iconButtonPopover?: ButtonProps['icon'];
                                                        /**
                                                         * Позиция иконки в кнопке. Применяется когда установлено свойство icon.
                                                         * @type { 'left' | 'right' }
                                                         * @default left
                                                         */
                                                        iconPosButtonPopover?: ButtonProps['iconPos'];
                                                        /**
                                                         * Элемент в состоянии не активный
                                                         * @default false
                                                         */
                                                        disabledButtonPopover?: ButtonProps['disabled'];
                                                        /**
                                                         * Отображать иконку загрузки и перевести кнопку в состояние загрузка
                                                         * @default false
                                                         */
                                                        loadingButtonPopover?: ButtonProps['loading'];
                                                        /**
                                                         * Текст для ссылки в Popover
                                                         * @type { string }
                                                         * @default ''
                                                         */
                                                        labelLinkPopover?: string;
                                                        /**
                                                         * Ссылка для перехода при нажатии Link в Popover
                                                         * @type { string }
                                                         * @default undefined
                                                         */
                                                        hrefPopover?: string;
                                                        /**
                                                         * target атрибут для ссылки Link в Popover
                                                         * @default _self
                                                         */
                                                        targetPopover?: HTMLAttributeAnchorTarget;
                                                        /**
                                                         * Позиция монтирования компонента Tooltip или Popover. Если не задано - по умолчанию
                                                         * компонент будет монтироваться в document.body
                                                         * @type { AppendToType }
                                                         * @default document.body
                                                         */
                                                        appendTo?: AppendToType;
                                                        /**
                                                         * Кнопка закрытия Popover
                                                         * @type { boolean }
                                                         * @default true
                                                         */
                                                        buttonClosePopover?: boolean;
                                                    };

                                                    declare type SharedTooltipProps = {
                                                        /**
                                                         * Размер Tooltip
                                                         * @type { 'xs' | 'sm' }
                                                         * @default 'xs'
                                                         */
                                                        sizeTooltip?: 'xs' | 'sm';
                                                        /**
                                                         * Текст подсказки Tooltip
                                                         * @type { string | undefined }
                                                         * @default ''
                                                         */
                                                        labelTooltip?: string;
                                                        /**
                                                         * Расположение подсказки Tooltip
                                                         * @type { 'top-left' | 'top' | 'top-right' | 'bottom-left' | 'bottom' |
                                                             * 'bottom-right' | 'right-top' |  'right' | 'right-bottom' }
                                                         *  @default 'top'
                                                         */
                                                        locationTooltip?: 'top-left' | 'top' | 'top-right' | 'bottom-left' | 'bottom' | 'bottom-right' | 'right-top' | 'right' | 'right-bottom';
                                                        /**
                                                         * Фон Tooltip
                                                         * @type { boolean | undefined }
                                                         * @default false
                                                         */
                                                        contrastTooltip?: boolean;
                                                        /**
                                                         * Tooltip с указателем
                                                         * @type { boolean | undefined }
                                                         * @default true
                                                         */
                                                        directionTooltip?: boolean;
                                                        /**
                                                         * Временная задержка в мс при закрытии Tooltip, открытого наведением курсора на элемент
                                                         * @type { number }
                                                         */
                                                        enterHoverDelay?: number;
                                                        /**
                                                         * Позиция монтирования компонента Tooltip или Popover. Если не задано - по умолчанию
                                                         * компонент будет монтироваться в document.body
                                                         * @type { AppendToType }
                                                         * @default document.body
                                                         */
                                                        appendTo?: AppendToType;
                                                        /**
                                                         * Расположение текста в элементе
                                                         * @type { 'start' | 'center' }
                                                         * @default 'start'
                                                         */
                                                        textCentering?: 'start' | 'center';
                                                    };

                                                    declare function SideBtn(props: SideBtnProps): JSX_2.Element;

                                                    /**
                                                     * Пропсы compound-компонента `SideMenu.Button`.
                                                     * @type {ButtonProps}
                                                     */
                                                    declare type SideBtnProps = ButtonProps;

                                                    export declare function SideMenu({ isExpanded, rounded, roundedBorder, header, navList, footer, transparentBackground, activeMenuId, setActiveMenuId, }: SideMenuProps): JSX_2.Element;

                                                    export declare namespace SideMenu {
                                                        var Toggle: typeof Toggle;
                                                        var Item: typeof Item;
                                                        var Button: typeof SideBtn;
                                                        var Logo: typeof Logo;
                                                        var Search: typeof Search;
                                                        var UserInfo: typeof UserInfo;
                                                        var Divider: () => JSX_2.Element;
                                                    }

                                                    /**
                                                     * Пропсы основного компонента `SideMenu`.
                                                     * @type {SideMenuProps}
                                                     */
                                                    export declare type SideMenuProps = {
                                                        /**
                                                         * Скругление углов меню.
                                                         * @type {boolean}
                                                         */
                                                        rounded: boolean;
                                                        /**
                                                         * Состояние раскрытия меню.
                                                         * @type {boolean}
                                                         */
                                                        isExpanded: boolean;
                                                        /**
                                                         * Прозрачный фон контейнера.
                                                         * @type {boolean | undefined}
                                                         * @default false
                                                         */
                                                        transparentBackground?: boolean;
                                                        /**
                                                         * Идентификатор активного пункта.
                                                         * @type {string | undefined}
                                                         */
                                                        activeMenuId: string | undefined;
                                                        /**
                                                         * Рисовать границу при `rounded`.
                                                         * @type {boolean | undefined}
                                                         * @default true
                                                         */
                                                        roundedBorder?: boolean;
                                                        /**
                                                         * Сеттер активного пункта.
                                                         * @type {(id: string | undefined) => void}
                                                         */
                                                        setActiveMenuId: (id: string | undefined) => void;
                                                        /**
                                                         * Обработчик переключения состояния меню.
                                                         * @type {(() => void) | undefined}
                                                         */
                                                        toggle?: () => void;
                                                        /**
                                                         * Слот верхней области.
                                                         * @type {(() => ReactNode) | undefined}
                                                         */
                                                        header?: () => ReactNode;
                                                        /**
                                                         * Слот основного списка навигации.
                                                         * @type {(() => ReactNode) | undefined}
                                                         */
                                                        navList?: () => ReactNode;
                                                        /**
                                                         * Слот нижней области.
                                                         * @type {(() => ReactNode) | undefined}
                                                         */
                                                        footer?: () => ReactNode;
                                                    } & PropsWithChildren;

                                                    export declare const SkeletonAvatar: ({ size, rounded, className, ...props }: SkeletonAvatarProps) => JSX_2.Element;

                                                    /**
                                                     * Входные параметры для компонента SkeletonAvatarProps
                                                     */
                                                    export declare type SkeletonAvatarProps = HTMLAttributes<HTMLDivElement> & {
                                                        /**
                                                         * Размер Skeleton
                                                         * @type { 'xs' | 'sm' | 'md' | 'lg' }
                                                         */
                                                        size: LiteralUnion<'xs' | 'sm' | 'md' | 'lg'>;
                                                        /**
                                                         * Радиус скругления
                                                         * @type { boolean }
                                                         * @default false
                                                         */
                                                        rounded?: boolean;
                                                        /**
                                                         * Пользовательские CSS классы
                                                         */
                                                        className?: string;
                                                    };

                                                    export declare const SkeletonBlock: ({ rounded, className, ...props }: SkeletonBlockProps) => JSX_2.Element;

                                                    /**
                                                     * Входные параметры для компонента SkeletonBlockProps
                                                     */
                                                    export declare type SkeletonBlockProps = HTMLAttributes<HTMLDivElement> & {
                                                        /**
                                                         * Радиус скругления
                                                         * @type { boolean }
                                                         * @default false
                                                         */
                                                        rounded?: boolean;
                                                        /**
                                                         * Пользовательские CSS классы
                                                         */
                                                        className?: string;
                                                    };

                                                    export declare const SkeletonText: ({ size, className, ...props }: SkeletonTextProps) => JSX_2.Element;

                                                    /**
                                                     * Входные параметры для компонента SkeletonTextProps
                                                     */
                                                    export declare type SkeletonTextProps = HTMLAttributes<HTMLDivElement> & {
                                                        /**
                                                         * Размер Skeleton
                                                         * @type { '12-14' | '12-16' | '14-16' | '14-20' | '16-20' |
                                                             * '16-24' | '18-24' | '20-28' | '24-32' | '28-36' | '32-40' | '36-44' |
                                                             * '40-48' | '44-52' | '48-56' | '56-64' | '80-88' }
                                                         */
                                                        size: LiteralUnion<'12-14' | '12-16' | '14-16' | '14-20' | '16-20' | '16-24' | '18-24' | '20-28' | '24-32' | '28-36' | '32-40' | '36-44' | '40-48' | '44-52' | '48-56' | '56-64' | '80-88'>;
                                                        /**
                                                         * Пользовательские CSS классы
                                                         */
                                                        className?: string;
                                                    };

                                                    export declare const Slider: (props: SliderProps) => JSX_2.Element;

                                                    export declare type SliderOptionsProps = {
                                                        /**
                                                         * Id элемента
                                                         * @type { string }
                                                         */
                                                        id: string;
                                                        /**
                                                         * Ссылка на изображение
                                                         * @type { string }
                                                         */
                                                        src: string;
                                                        /**
                                                         * label изображения
                                                         * @type { string }
                                                         */
                                                        label?: string;
                                                        /**
                                                         * FullScreen Template
                                                         * @type { ReactNode }
                                                         */
                                                        fullScreenTemplate?: ReactNode;
                                                    };

                                                    export declare type SliderProps = {
                                                        /**
                                                         * Показывать текст описания карточки
                                                         * @type { boolean }
                                                         * @default {true}
                                                         */
                                                        visibleDescriptionText?: boolean;
                                                        /**
                                                         * Опции компонента
                                                         * @type { SliderOptionsProps[] }
                                                         */
                                                        options: SliderOptionsProps[];
                                                        /**
                                                         * Callback клика по картинке
                                                         * @type { (item: SliderOptionsProps, index: number) => void }
                                                         */
                                                        onImageClick?: (item: SliderOptionsProps, index: number) => void;
                                                        /**
                                                         * Показывать картинки в FullScreen режиме, после клика на изображения
                                                         * @type { boolean }
                                                         */
                                                        visibleFullScreen?: boolean;
                                                    };

                                                    export declare const SplitButton: ({ label, size, variant, icon, loading, disabled, href, target, options, sizeMenu, onClick, style, radius, }: SplitButtonProps) => JSX_2.Element;

                                                    declare type SplitButtonComponentProps = {
                                                        /**
                                                         * Тип компонента - split button
                                                         */
                                                        type: 'split';
                                                        /**
                                                         * Основная кнопка компонента
                                                         */
                                                        button: ButtonProps;
                                                        /**
                                                         * Массив элементов меню
                                                         */
                                                        options: ElementMenuProps[];
                                                        /**
                                                         * Размер компонента ActionMenu
                                                         * @type { 'sm' | 'md' }
                                                         */
                                                        sizeMenu: 'sm' | 'md';
                                                    };

                                                    export declare type SplitButtonProps = E_7 & {
                                                        /**
                                                         * Текст кнопки
                                                         * @type { string | undefined }
                                                         * @default ''
                                                         */
                                                        label?: string | undefined;
                                                        /**
                                                         * Размер кнопки
                                                         * @type {'sm' | 'md' | 'lg' | 'xl'}
                                                         * @default 'md'
                                                         */
                                                        size: 'sm' | 'md' | 'lg' | 'xl';
                                                        /**
                                                         * Имя иконки из иконочного сета
                                                         * @type { JSX.Element }
                                                         * @default ''
                                                         */
                                                        icon?: IconName | undefined;
                                                        /**
                                                         * Отображать иконку загрузки и перевести кнопку в состояние загрузка
                                                         * @type { boolean }
                                                         * @default false
                                                         */
                                                        loading?: boolean | undefined;
                                                        /**
                                                         * Элемент в состоянии не активный
                                                         * @type { boolean }
                                                         * @default false
                                                         */
                                                        disabled?: boolean | undefined;
                                                        /**
                                                         * Ссылка для перехода при нажатии
                                                         * @type { string }
                                                         * @default undefined
                                                         */
                                                        href?: string;
                                                        /**
                                                         * target атрибут для ссылок
                                                         * @default _self
                                                         */
                                                        target?: HTMLAttributeAnchorTarget;
                                                        /**
                                                         * Массив элементов меню
                                                         */
                                                        options: ElementMenuProps_2[];
                                                        /**
                                                         * Размер компонента ActionMenu
                                                         * @type { 'sm' | 'md' }
                                                         */
                                                        sizeMenu: 'sm' | 'md';
                                                        /**
                                                         * Стили для блока кнопок
                                                         */
                                                        style?: React_2.CSSProperties;
                                                        /**
                                                         * Вариант кнопки
                                                         * @type {'solid' | 'soft' | 'outline' | 'ghost'}
                                                         * @default 'solid'
                                                         */
                                                        variant: 'solid' | 'soft' | 'outline' | 'ghost';
                                                        /**
                                                         * Радиус скругления
                                                         * @type {'xxs'| 'xs' | 'sm' | 'md' | 'lg'}
                                                         * @default 'xxs'
                                                         */
                                                        radius?: 'xxs' | 'xs' | 'sm' | 'md' | 'lg';
                                                    };

                                                    declare type StateValue = {
                                                        theme: string;
                                                        dark: boolean;
                                                        fontFamily: string;
                                                        appendTo: AppendToType;
                                                        appendThemeTo: React.RefObject<HTMLElement>;
                                                        language: 'ru' | 'en';
                                                    };

                                                    export declare const StatusMessage: (props: StatusMessageProps) => JSX_2.Element;

                                                    declare type StatusMessageButtonProps = Omit<ButtonProps, 'size' | 'vatiant' | 'typeColor'>;

                                                    export declare type StatusMessageProps = {
                                                        type?: 'none' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
                                                        /**
                                                         * Параметры декоративного элемента
                                                         * @type { DecorateProps }
                                                         */
                                                        decorate?: DecorateProps;
                                                        /**
                                                         * Текст Label
                                                         * @type { string }
                                                         */
                                                        label: string;
                                                        /**
                                                         * Текст description
                                                         * @type { string }
                                                         */
                                                        description: string;
                                                        /**
                                                         * Дополнительный текст description
                                                         * @type { string }
                                                         */
                                                        addDescription?: string;
                                                        /**
                                                         * Параметры для компонента LinkText в StatusMessage
                                                         * @type { LinkTextProps }
                                                         */
                                                        linkProps?: LinkTextProps;
                                                        /**
                                                         * Параметры для кнопки ghost
                                                         * @type { StatusMessageButtonProps }
                                                         */
                                                        ghostButtonProps?: StatusMessageButtonProps;
                                                        /**
                                                         * Параметры для кнопки outline
                                                         * @type { StatusMessageButtonProps }
                                                         */
                                                        outlineButtonProps?: StatusMessageButtonProps;
                                                        /**
                                                         * Параметры для кнопки solid
                                                         * @type { StatusMessageButtonProps }
                                                         */
                                                        solidButtonProps?: StatusMessageButtonProps;
                                                    };

                                                    export declare const Stepper: ({ size, variant, position, options, className, children, mobile, minHeight, stepClick, onChange, ...props }: StepperProps) => JSX_2.Element;

                                                    export declare const StepperLine: ({ size, options, }: StepperLineProps) => JSX_2.Element;

                                                    /**
                                                     *  Опции компонента StepperLine
                                                     */
                                                    export declare interface StepperLineOptions {
                                                        /**
                                                         * id шага
                                                         * @type { string }
                                                         */
                                                        id: string;
                                                        /**
                                                         * Название шага в StepperLine
                                                         */
                                                        label: string;
                                                        /**
                                                         * Описание шага в StepperLine
                                                         */
                                                        caption?: string;
                                                        /**
                                                         * Состояние шага в StepperLine
                                                         * @type { 'wait' | 'process' | 'error' | 'done' | 'disabled' | 'loading' }
                                                         */
                                                        state: 'wait' | 'process' | 'error' | 'done' | 'disabled';
                                                        /**
                                                         * Активная стадия в StepperLine
                                                         * @type { boolean }
                                                         */
                                                        currentStage: boolean;
                                                    }

                                                    /**
                                                     * Входные параметры для компонента StepperLine
                                                     */
                                                    export declare type StepperLineProps = {
                                                        /**
                                                         * Размеры компонента
                                                         * @type { 'sm' | 'md' }
                                                         * @default 'sm'
                                                         */
                                                        size?: LiteralUnion<'sm' | 'md'>;
                                                        /**
                                                         * Набор элементов в списке
                                                         * @type StepperLineOptions[]
                                                         * @default []
                                                         */
                                                        options: StepperLineOptions[];
                                                    };

                                                    /**
                                                     *  Опции компонента Stepper
                                                     */
                                                    export declare interface StepperOptions {
                                                        /**
                                                         * id шага
                                                         * @type { string }
                                                         */
                                                        id: string;
                                                        /**
                                                         * Название шага в Stepper
                                                         * @type { string | ReactElement }
                                                         */
                                                        label: string | ReactElement;
                                                        /**
                                                         * Описание шага в Stepper
                                                         * @type { string | ReactElement }
                                                         */
                                                        caption?: string | ReactElement;
                                                        /**
                                                         * Состояние шага в Stepper
                                                         * @type { 'wait' | 'process' | 'error' | 'done' | 'disabled' | 'loading' | 'disabled-error' | 'disabled-done' | 'process-error' | 'selected' }
                                                         */
                                                        state: LiteralUnion<'wait' | 'process' | 'error' | 'done' | 'disabled' | 'loading' | 'disabled-error' | 'disabled-done' | 'process-error' | 'selected'>;
                                                        /**
                                                         * Активная стадия в StepperLine
                                                         * @type { boolean }
                                                         */
                                                        currentStage: boolean;
                                                        /**
                                                         * Событие нажатия на шаг, при stepClick === true
                                                         * Рекомендуется использовать при клике на шаг в Stepper
                                                         */
                                                        onClick?: () => void;
                                                    }

                                                    /**
                                                     * Входные параметры для компонента Stepper
                                                     */
                                                    export declare type StepperProps = SharedTooltipProps & {
                                                        /**
                                                         * Размеры компонента
                                                         * @type { 'sm' | 'md' }
                                                         * @default 'sm'
                                                         */
                                                        size?: LiteralUnion<'xs' | 'sm'>;
                                                        /**
                                                         * Тип Stepper
                                                         * @type { 'icon' | 'dot' | 'longlist' }
                                                         * @default 'icon'
                                                         */
                                                        variant?: LiteralUnion<'icon' | 'dot'>;
                                                        /**
                                                         * Расположение компонента Stepper.
                                                         * @type { 'vertically' | 'horizontally' }
                                                         * @default 'horizontally'
                                                         */
                                                        position?: LiteralUnion<'vertically' | 'horizontally'>;
                                                        /**
                                                         * Набор элементов в списке
                                                         * @type StepperOptions[]
                                                         * @default []
                                                         */
                                                        options: StepperOptions[];
                                                        /**
                                                         * Панель для отображения контента в Stepper для конкретного шага
                                                         * @type { ReactNode }
                                                         */
                                                        children?: ReactNode;
                                                        /**
                                                         * Класс Stepper элемента
                                                         * @type { string }
                                                         * @default undefined
                                                         */
                                                        className?: string;
                                                        /**
                                                         * Мобильная версия Stepper. Используется для position = 'vertically'
                                                         * @type { boolean }
                                                         * @default false
                                                         */
                                                        mobile?: boolean;
                                                        /**
                                                         * Минимальная высота компонента для position = 'horizontally'
                                                         * @type { boolean }
                                                         * @default false
                                                         */
                                                        minHeight?: boolean;
                                                        /**
                                                         * Возможность клика на опции в степпере
                                                         * @type { boolean }
                                                         * @default false
                                                         */
                                                        stepClick?: boolean;
                                                        /**
                                                         * [Beta] onChange при клике на опцию в степпере
                                                         * Логика обновления state шага в самом компоненте Stepper.
                                                         * Для создания дополнительной логики обработки шага рекомендуется использовать onClick для каждого шага
                                                         * @type { (list: StepperOptions[]) => void }
                                                         */
                                                        onChange?: (list: StepperOptions[]) => void;
                                                    };

                                                    export declare const Switcher: (props: SwitcherProps) => JSX_2.Element;

                                                    export declare const SwitcherGroup: (props: SwitcherGroupProps) => JSX_2.Element;

                                                    declare type SwitcherGroupOptions = Omit<SwitcherProps, 'size' | 'position' | 'accesabilityHover' | 'animation' | 'appendTo' | 'withContainerPadding' | 'type'>;

                                                    export declare type SwitcherGroupProps = Callbacks_3 & {
                                                        /**
                                                         * Текст заголовка группы.
                                                         * @type { string }
                                                         */
                                                        label: string;
                                                        /**
                                                         * Текст подписи для заголовка группы.
                                                         * @type { string | undefined }
                                                         */
                                                        caption?: string;
                                                        /**
                                                         * Значения выбранных значений в группе.
                                                         * @type { string[] }
                                                         */
                                                        values: string[];
                                                        /**
                                                         * Имя группы Switcher кнопок.
                                                         * @type { string | undefined }
                                                         * @default 'uuid()'
                                                         */
                                                        name?: string;
                                                        /**
                                                         * Размер кнопок в группе.
                                                         * @type { 'sm' | 'md' }
                                                         * @default 'sm'
                                                         */
                                                        size?: LiteralUnion<'sm' | 'md'>;
                                                        /**
                                                         * Элементы группы.
                                                         * @type { SwitcherGroupOptions[] }
                                                         * @default '[]'
                                                         */
                                                        options: SwitcherGroupOptions[];
                                                        /**
                                                         * Расположение кнопок Switcher в группе
                                                         * @type { 'left' | 'right' }
                                                         * @default 'left'
                                                         */
                                                        position?: LiteralUnion<'left' | 'right'>;
                                                        /**
                                                         * @default false
                                                         */
                                                        accesabilityHover?: boolean;
                                                        /**
                                                         * @default true
                                                         */
                                                        animation?: boolean;
                                                        /**
                                                         * Позиция монтирования компонента Tooltip или Popover. Если не задано - по умолчанию
                                                         * компонент будет монтироваться в document.body
                                                         * @type { AppendToType }
                                                         * @default document.body
                                                         */
                                                        appendTo?: AppendToType;
                                                        /**
                                                         * @type { 'left' | 'right' }
                                                         * @default 'right'
                                                         */
                                                        helpIconPosition?: 'left' | 'right';
                                                        /** Handlers */
                                                        onChange?: (event: InputSwitchChangeEvent) => void;
                                                    };

                                                    export declare type SwitcherProps = SharedTooltipProps & SharedPopoverProps & {
                                                        /**
                                                         * id элемента Switcher
                                                         * @type { string | undefined }
                                                         */
                                                        id: string;
                                                        /**
                                                         * Размер элемента Switcher
                                                         * @type { 'sm' | 'md' }
                                                         * @default 'sm'
                                                         */
                                                        size: LiteralUnion<'sm' | 'md'>;
                                                        /**
                                                         * Состояние Switcher активен или нет
                                                         * @type { boolean | undefined }
                                                         * @default false
                                                         */
                                                        checked?: boolean;
                                                        /**
                                                         * Label текст для Switcher
                                                         * @type { string | undefined }
                                                         * @default ''
                                                         */
                                                        label?: string;
                                                        /**
                                                         * Caption текст подсказки для Switcher. Используется без иконки
                                                         * @type { string | undefined }
                                                         * @default ''
                                                         */
                                                        caption?: string;
                                                        /**
                                                         * @default false
                                                         */
                                                        showHelpIcon?: boolean;
                                                        /**
                                                         * Расположение Switcher
                                                         * @type { 'left' | 'right' | undefined }
                                                         */
                                                        position?: LiteralUnion<'left' | 'right'>;
                                                        /**
                                                         * Элемент в состоянии не активный
                                                         * @type { boolean | undefined }
                                                         * @default false
                                                         */
                                                        disabled?: boolean;
                                                        /**
                                                         * Имя элемента switcher.
                                                         *  @type { string | undefined }
                                                         */
                                                        name?: string;
                                                        /**
                                                         * @default false
                                                         */
                                                        accesabilityHover?: boolean;
                                                        /**
                                                         * @default true
                                                         */
                                                        animation?: boolean;
                                                        /**
                                                         * @type { 'left' | 'right' }
                                                         * @default 'right'
                                                         */
                                                        helpIconPosition?: 'left' | 'right';
                                                        /**
                                                         * Позиция монтирования компонента Tooltip или Popover. Если не задано - по умолчанию
                                                         * компонент будет монтироваться в document.body
                                                         * @type { AppendToType }
                                                         * @default document.body
                                                         */
                                                        appendTo?: AppendToType;
                                                        /**
                                                         * Отступы у контейнера Switcher
                                                         * @type { boolean }
                                                         * @default true
                                                         */
                                                        withContainerPadding?: boolean;
                                                        /** Handlers */
                                                        onChange?: (event: InputSwitchChangeEvent) => void;
                                                    };

                                                    export declare type TableContolDrawerItem = {
                                                        id: string;
                                                        header: string;
                                                        isVisible: boolean;
                                                        isPinned: 'left' | 'right' | false;
                                                        columns?: TableContolDrawerItem[];
                                                    };

                                                    export declare const TableControlDrawer: ForwardRefExoticComponent<TableControlDrawerProps & RefAttributes<TableControlDrawerRefMethods>>;

                                                    export declare type TableControlDrawerProps = {
                                                        items: TableContolDrawerItem[];
                                                        onItemsChanged: (items: TableContolDrawerItem[]) => void;
                                                    };

                                                    export declare type TableControlDrawerRefMethods = {
                                                        show: () => void;
                                                        hide: () => void;
                                                        toggle: () => void;
                                                    };

                                                    export declare const TableControlPanel: ForwardRefExoticComponent<Omit<TableControlPanelProps, "ref"> & RefAttributes<TableControlPanelRefMethods>>;

                                                    export declare type TableControlPanelProps = {
                                                        /**
                                                         * Массив объектов конфигурации колонок таблицы
                                                         * @type {Column[]}
                                                         */
                                                        columns: Column[];
                                                        /**
                                                         * onChange обновления конфигурации колонок
                                                         */
                                                        setColumnsConfig: (columns: Column[]) => void;
                                                        /**
                                                         * useRef элемента
                                                         * @type { MutableRefObject<null> }
                                                         */
                                                        ref: MutableRefObject<null>;
                                                        /**
                                                         * Дополнительные CSS-классы для обёртки строк панели управления колонками.
                                                         * Позволяет кастомизировать внешний вид контейнера, содержащего
                                                         * элементы настройки колонок
                                                         */
                                                        rowsWrapperClassNames?: string;
                                                    };

                                                    declare type TableControlPanelRefMethods = {
                                                        /**
                                                         * Функция для управления состоянием TableControlPanel.
                                                         * @type { (e) => ref.current.toggle(e) }
                                                             */
                                                         toggle?: (e: any) => void;
                                                         /**
                                                          * Функция для открытия TableControlPanel.
                                                          * @type { (e) => ref.current.show(e) }
                                                              */
                                                          show?: (e: any) => void;
                                                          /**
                                                           * Функция для закрытия TableControlPanel
                                                           * @type { () => ref.current.hide() }
                                                               */
                                                           hide?: () => void;
                                                          };

                                                          declare type TabOption = Omit<TabProps, 'type' | 'size' | 'selected'>;

                                                          declare interface TabProps extends Callback {
                                                              /**
                                                               * Текст таба.
                                                               * @type { string | undefined }
                                                               */
                                                              label?: string | undefined;
                                                              /**
                                                               * Тип таба.
                                                               * @type { 'horizontal' | 'vertical' }
                                                               * @default horizontal
                                                               */
                                                              type: TabType;
                                                              /**
                                                               * Размер таба.
                                                               * @type { 'sm' | 'md' | 'lg' }
                                                               * @default sm
                                                               */
                                                              size: TabSize;
                                                              /**
                                                               * Имя кнопки из иконочного сета
                                                               * @type { JSX.Element }
                                                               * @default ''
                                                               */
                                                              iconLeft?: IconName | undefined;
                                                              /**
                                                               * Бейджик в кнопке.
                                                               */
                                                              badge?: string | React_2.ReactNode | undefined;
                                                              /**
                                                               * Вкладка выбрана.
                                                               * @type { boolean }
                                                               * @default false
                                                               */
                                                              selected?: boolean | undefined;
                                                              /**
                                                               * Элемент в состоянии не активный
                                                               * @default false
                                                               */
                                                              disabled?: boolean | undefined;
                                                          }

                                                          export declare const Tabs: (props: TabsProps) => JSX_2.Element;

                                                          declare type TabSize = 'sm' | 'md' | 'lg';

                                                          export declare interface TabsProps extends Events {
                                                              /**
                                                               * Индекс актианой вкладки.
                                                               */
                                                              activeIndex: number;
                                                              /**
                                                               * Размер.
                                                               * @type {'sm' | 'md' | 'lg' }
                                                               */
                                                              size: TabSize;
                                                              /**
                                                               * Тип.
                                                               * @type { 'horizontal' | 'vertical' }
                                                               */
                                                              type: TabType;
                                                              /**
                                                               * Опции
                                                               */
                                                              options?: TabOption[];
                                                              /**
                                                               * Bottom Divider для type='horizontal'
                                                               * @type { boolean }
                                                               * @default false
                                                               */
                                                              bottomDivider?: boolean;
                                                          }

                                                          declare type TabType = 'horizontal' | 'vertical';

                                                          export declare const Tag: ForwardRefExoticComponent<SharedTooltipProps & {
                                                              id: string;
                                                              interactive?: boolean;
                                                              value?: boolean;
                                                              size?: LiteralUnion<"sm" | "md">;
                                                              label: string;
                                                              icon?: string | null;
                                                              iconClose?: boolean;
                                                              type?: LiteralUnion<"neutral" | "brand" | "info" | "success" | "warning" | "error">;
                                                              variant?: LiteralUnion<"soft" | "outline">;
                                                              disabled?: boolean;
                                                              radius?: LiteralUnion<"xxs" | "xs" | "sm" | "md" | "lg">;
                                                              className?: string;
                                                              truncateLabel?: boolean;
                                                              onChange?: () => void;
                                                              onRemove?: () => void;
                                                              onFocus?: () => void;
                                                              onBlur?: () => void;
                                                          } & RefAttributes<unknown>>;

                                                          export declare const TagGroup: ({ value, size, type, variant, interactive, sizeTooltip, locationTooltip, directionTooltip, contrastTooltip, options, radius, onChange, }: TagGroupProps) => JSX_2.Element;

                                                          declare type TagGroupOptions = Omit<TagProps, 'size' | 'value' | 'interactive' | 'variant' | 'type' | 'radius' | 'sizeTooltip' | 'locationTooltip' | 'labelTooltip' | 'directionTooltip' | 'contrastTooltip' | 'onChange'>;

                                                          export declare type TagGroupProps = SharedTooltipProps & {
                                                              /**
                                                               * Значение выбранного значения или выбранных значений в группе.
                                                               * @type { string | string[] }
                                                               */
                                                              value?: string | string[];
                                                              /**
                                                               * Размер Tag в группе.
                                                               * @type { 'sm' | 'md' }
                                                               * @default 'sm'
                                                               */
                                                              size?: 'sm' | 'md';
                                                              /**
                                                               * Элементы группы.
                                                               * @type { TagGroupOptions[] }
                                                               * @default '[]'
                                                               */
                                                              options: TagGroupOptions[];
                                                              /**
                                                               * Интерактивные Tag
                                                               * @type { boolean }
                                                               * @default false
                                                               */
                                                              interactive?: boolean;
                                                              /**
                                                               * Тип Tag
                                                               * @type { 'neutral' | 'brand' | 'info' | 'success' | 'warning' | 'error' }
                                                               * @default 'neutral
                                                               */
                                                              type?: LiteralUnion<'neutral' | 'brand' | 'info' | 'success' | 'warning' | 'error'>;
                                                              /**
                                                               * Вариант Tag
                                                               * @type { 'shade' | 'outline' }
                                                               * @default 'shade'
                                                               */
                                                              variant?: LiteralUnion<'soft' | 'outline'>;
                                                              /**
                                                               * Функция для управления состоянием Tag
                                                               * @type { Function }
                                                               */
                                                              onChange?: (id: string) => void;
                                                              /**
                                                               * Радиус скругления. По умолчанию radius для 'sm' = 4px, 'md' = 6px
                                                               * @type {'xxs'| 'xs' | 'sm' | 'md' | 'lg'}
                                                               */
                                                              radius?: LiteralUnion<'xxs' | 'xs' | 'sm' | 'md' | 'lg'>;
                                                          };

                                                          /**
                                                           * Входные параметры для компонента Tag
                                                           */
                                                          export declare type TagProps = SharedTooltipProps & {
                                                              /**
                                                               * id компонента Tag
                                                               * @type { string }
                                                               */
                                                              id: string;
                                                              /**
                                                               * Интерактивный компонент
                                                               * @type { boolean }
                                                               * @default false
                                                               */
                                                              interactive?: boolean;
                                                              /**
                                                               * Состояние компонента. Используется для интерактивного Tag
                                                               * @type { boolean }
                                                               * @default false
                                                               */
                                                              value?: boolean;
                                                              /**
                                                               * Размеры компонента
                                                               * @type 'sm' | 'md'
                                                               * @default 'sm'
                                                               */
                                                              size?: LiteralUnion<'sm' | 'md'>;
                                                              /**
                                                               * Текст Tag
                                                               * @type { string }
                                                               */
                                                              label: string;
                                                              /**
                                                               * Иконка. При одновременной передаче иконки и бейджа, приоритет бейджа выше
                                                               * Если значение null - тэг отображается без иконки или бейджа.
                                                               * @type { string | null }
                                                               * @default ''
                                                               */
                                                              icon?: string | null;
                                                              /**
                                                               * Иконка закрытия. Используется для интерактивного Tag
                                                               * @type { boolean }
                                                               * @default false
                                                               */
                                                              iconClose?: boolean;
                                                              /**
                                                               * Тип Tag
                                                               * @type { 'neutral' | 'brand' | 'info' | 'success' | 'warning' | 'error' }
                                                               * @default 'neutral
                                                               */
                                                              type?: LiteralUnion<'neutral' | 'brand' | 'info' | 'success' | 'warning' | 'error'>;
                                                              /**
                                                               * Вариант Tag
                                                               * @type { 'soft' | 'outline' }
                                                               * @default 'soft'
                                                               */
                                                              variant?: LiteralUnion<'soft' | 'outline'>;
                                                              /**
                                                               * Заблокированный элемент
                                                               * @type { boolean }
                                                               * @default false
                                                               */
                                                              disabled?: boolean;
                                                              /**
                                                               * Радиус скругления. По умолчанию radius для 'sm' = 4px, 'md' = 6px
                                                               * @type {'xxs'| 'xs' | 'sm' | 'md' | 'lg'}
                                                               */
                                                              radius?: LiteralUnion<'xxs' | 'xs' | 'sm' | 'md' | 'lg'>;
                                                              /**
                                                               * Дополнительные классы для компонента Tag
                                                               */
                                                              className?: string;
                                                              /**
                                                               * Свойство управляет поведением текста внутри Tag.
                                                               * По умолчанию true, при слишокм длинном значении текст обрезвается.
                                                               * @type {boolean}
                                                               * @default {true}
                                                               */
                                                              truncateLabel?: boolean;
                                                              /**
                                                               * Обработчик изменения значения Tag. Используется для интерактивного Tag
                                                               */
                                                              onChange?: () => void;
                                                              /**
                                                               * Событие удаления Tag.
                                                               */
                                                              onRemove?: () => void;
                                                              /**
                                                               * Событие фокуса инпута. Используется для интерактивного Tag
                                                               */
                                                              onFocus?: () => void;
                                                              /**
                                                               * Событие потери фокуса инпута. Используется для интерактивного Tag
                                                               */
                                                              onBlur?: () => void;
                                                          };

                                                          declare type TextCondData = {
                                                              /**
                                                               *  Value для поля
                                                               * @type { string | number | readonly string[] | undefined }
                                                               */
                                                              value: string | number | readonly string[] | undefined;
                                                              /**
                                                               * Id элемента списка
                                                               * @type { string }
                                                               */
                                                              id: string;
                                                              /**
                                                               * Статус требования к паролю
                                                               * @type { 'neutral | 'success' }
                                                                   */
                                                               status: LiteralUnion<'neutral' | 'success'>;
                                                               /**
                                                                * Текст
                                                                * @type { string }
                                                                */
                                                               label: string;
                                                              };

                                                              export declare function Toaster({ visibleToasts, ...props }: ToasterProps_2): JSX_2.Element;

                                                              export declare namespace Toaster {
                                                                  var Actions: FC<{
                                                                      children?: ReactNode | undefined;
                                                                  }>;
                                                                  var ActionButton: FC<ButtonHTMLAttributes<HTMLButtonElement> & {
                                                                      label?: string | ReactElement;
                                                                      size?: LiteralUnion<"sm" | "md" | "lg" | "xl">;
                                                                      variant?: LiteralUnion<"solid" | "soft" | "outline" | "ghost">;
                                                                      icon?: IconName;
                                                                      iconPos?: LiteralUnion<"left" | "right">;
                                                                      loading?: boolean;
                                                                      disabled?: boolean;
                                                                      rounded?: boolean;
                                                                      href?: string;
                                                                      target?: HTMLAttributeAnchorTarget;
                                                                      badgeLabel?: string;
                                                                      radius?: LiteralUnion<"xxs" | "xs" | "sm" | "md" | "lg" | "xl">;
                                                                      typeColor?: LiteralUnion<"brand" | "neutral" | "info" | "success" | "warning" | "error">;
                                                                      iconColor?: `brand-${number}` | `brand-contrast-${number}` | `neutral-${number}` | `info-${number}` | `info-contrast-${number}` | `success-${number}` | `success-contrast-${number}` | `warning-${number}` | `warning-contrast-${number}` | `error-${number}` | `error-contrast-${number}`;
                                                                      isActive?: boolean;
                                                                      children?: ReactNode;
                                                                      startContent?: ReactNode;
                                                                      endContent?: ReactNode;
                                                                  }>;
                                                                  var ActionLink: FC<ButtonHTMLAttributes<HTMLAnchorElement> & {
                                                                      label: string;
                                                                      size?: LiteralUnion<"sm" | "md">;
                                                                      iconBefore?: IconName | undefined;
                                                                      iconAfter?: IconName | undefined;
                                                                      disabled?: boolean | undefined;
                                                                      href: string;
                                                                      target?: HTMLAttributeAnchorTarget;
                                                                      clickEffect?: boolean;
                                                                      visitedEffect?: boolean;
                                                                      onClick?: (e: React.MouseEvent<HTMLLinkElement> | React.KeyboardEvent<HTMLLinkElement>) => void;
                                                                  }>;
                                                              }

                                                              export declare type ToasterProps = {
                                                                  title: string;
                                                                  description?: string;
                                                                  duration?: number;
                                                                  variant?: Variant_3;
                                                              };

                                                              declare type ToastRefHandle = {
                                                                  show: (message: LegacyToastMessage | LegacyToastMessage[]) => void;
                                                                  clear: () => void;
                                                                  getToastElement: () => null;
                                                              };

                                                              export declare const Tooltip: ({ size, location, label, contrast, direction, tracking, templateOnly, children, className, tooltipClassName, widthContainer, clickState, clickMessage, enterClickDelay, enterHoverDelay, showMessageOnFocus, textCentering, ...props }: TooltipProps) => JSX_2.Element | null;

                                                              export declare type TooltipProps = {
                                                                  /**
                                                                   * Размер Tooltip
                                                                   * @type { 'xs' | 'sm' }
                                                                   * @default 'xs'
                                                                   */
                                                                  size?: LiteralUnion<'xs' | 'sm'>;
                                                                  /**
                                                                   * Расположение подсказки Tooltip
                                                                   * @type { 'top-left' | 'top' | 'top-right' | 'bottom-left' | 'bottom' |
                                                                       *  'bottom-right' | 'right-top' |  'right' | 'right-bottom' }
                                                                   * @default 'top'
                                                                   * location + 'left-top' | 'left' | 'left-bottom': This option of using the tooltip is currently not being solved
                                                                   */
                                                                  location?: LiteralUnion<'top-left' | 'top' | 'top-right' | 'bottom-left' | 'bottom' | 'bottom-right' | 'right-top' | 'right' | 'right-bottom'>;
                                                                  /**
                                                                   * Текст подсказки Tooltip
                                                                   * @type { string | React.ReactElement | undefined }
                                                                   * @default ''
                                                                   */
                                                                  label?: string | React.ReactElement;
                                                                  /**
                                                                   * Фон Tooltip
                                                                   * @type { boolean | undefined }
                                                                   * @default false
                                                                   */
                                                                  contrast?: boolean;
                                                                  /**
                                                                   * Tooltip с указателем
                                                                   * @type { boolean | undefined }
                                                                   * @default true
                                                                   */
                                                                  direction?: boolean;
                                                                  /**
                                                                   * Отслеживание положения курсора
                                                                   * @type { boolean | undefined }
                                                                   * @default false
                                                                   */
                                                                  tracking?: boolean;
                                                                  /**
                                                                   * Елемент, к  которому применяется Tooltip
                                                                   * @type { React.ReactElement | string | undefined }
                                                                   */
                                                                  children?: React.ReactElement | string;
                                                                  /**
                                                                   * Только шаблон Tooltip
                                                                   * @type { boolean | undefined }
                                                                   * @default false
                                                                   */
                                                                  templateOnly?: boolean;
                                                                  /**
                                                                   * Класс компонента
                                                                   * @type { string | undefined }
                                                                   * @default undefined
                                                                   */
                                                                  className?: string;
                                                                  /**
                                                                   * Кастомный класс для tooltip
                                                                   * @type { string | undefined }
                                                                   * @default undefined
                                                                   */
                                                                  tooltipClassName?: string;
                                                                  /**
                                                                   * Ширина контейнера контента для которого отображается Tooltip
                                                                   * @type { 'w-full' | 'w-fit' }
                                                                   * @default 'w-fit'
                                                                   */
                                                                  widthContainer?: 'w-full' | 'w-fit';
                                                                  /**
                                                                   * Показывать дополнительный текст после нажатия на элемент
                                                                   * @type { boolean }
                                                                   * @default false
                                                                   */
                                                                  clickState?: boolean;
                                                                  /**
                                                                   * Текст подсказки, который отображается по нажатию на элемент
                                                                   * @type { string }
                                                                   * @default 'Скопировано'
                                                                   */
                                                                  clickMessage?: string;
                                                                  /**
                                                                   * Временная задержка в мс при закрытии Tooltip, открытого по клику
                                                                   * @type { number }
                                                                   * @default 700
                                                                   */
                                                                  enterClickDelay?: number;
                                                                  /**
                                                                   * Временная задержка в мс при закрытии Tooltip, открытого наведением курсора на элемент
                                                                   * @type { number }
                                                                   * @default 0
                                                                   */
                                                                  enterHoverDelay?: number;
                                                                  /**
                                                                   * Показывать Tooltip при фокусе на элементе
                                                                   * @type { boolean }
                                                                   * @default true
                                                                   */
                                                                  showMessageOnFocus?: boolean;
                                                                  /**
                                                                   * Позиция монтирования компонента. Если не задано - по умолчанию
                                                                   * компонент будет монтироваться в document.body
                                                                   * @type { AppendToType }
                                                                   * @default document.body
                                                                   */
                                                                  appendTo?: AppendToType;
                                                                  /**
                                                                   * Расположение текста в элементе
                                                                   * @type { 'start' | 'center' }
                                                                   * @default 'start'
                                                                   */
                                                                  textCentering?: 'start' | 'center';
                                                              };

                                                              export declare const Typography: (props: TypographyProps) => JSX_2.Element;

                                                              export declare type TypographyProps = {
                                                                  /**
                                                                   * Вариант текста
                                                                   * @type {Variant}
                                                                   * @default 'body1'
                                                                   */
                                                                  variant: Variant_2;
                                                                  /**
                                                                   * Тег для отображени текста
                                                                   * @type {string}
                                                                   * @default 'p'
                                                                   */
                                                                  tag?: string;
                                                                  children: ReactNode;
                                                                  className?: string;
                                                                  /**
                                                                   * Сематическая связь для label
                                                                   */
                                                                  htmlFor?: string;
                                                              };

                                                              export declare interface UploadedFile extends File {
                                                                  /**
                                                                   * Статус загрузки файла
                                                                   * @type {'default' | 'loading' | 'error'}
                                                                   * @default 'default'
                                                                   */
                                                                  status: 'default' | 'loading' | 'error';
                                                                  /**
                                                                   * Caption text для файла. Используется для отображения текста ошибки. Данный текст располагается вместо расширения и размера файла.
                                                                   * @type { string }
                                                                   */
                                                                  caption?: string;
                                                              }

                                                              export declare const useAppendTo: (appendTo?: AppendToType) => {
                                                                  appendTo: AppendToType;
                                                              };

                                                              export declare const useCSSTokens: (cssTokens: string[]) => Record<string, string>;

                                                              export declare const useDeviceType: () => {
                                                                  deviceType: Device;
                                                                  windowWidth: number;
                                                                  isMobile: boolean;
                                                                  isTablet: boolean;
                                                                  isDesktop: boolean;
                                                                  isDesktopLG: boolean;
                                                                  isDesktopXl: boolean;
                                                              };

                                                              export declare const useExchangeContext: () => StateValue;

                                                              export declare const useMounted: () => {
                                                                  isMounted: boolean;
                                                              };

                                                              export declare const useMutationObserver: (domNodeSelector: any, observerOptions: any, cb: any) => void;

                                                              export declare const useTheme: () => string | null;

                                                              export declare const useWindowSize: () => [number, number];

                                                              declare type Variant = 'd1-bold' | 'd2-bold' | 'h1-bold' | 'h1-regular' | 'h2-bold' | 'h2-regular' | 'h3-bold' | 'h4-bold' | 'h5-bold';

                                                              declare type Variant_2 = 'body1' | 'body2' | 'body3' | 'caption';

                                                              declare type Variant_3 = 'info' | 'success' | 'error' | 'warning';

                                                              export declare function withToastAdapter<T extends object>(WrappedComponent: ComponentType<T>): ForwardRefExoticComponent<PropsWithoutRef<T & Partial<ToasterProps_2>> & RefAttributes<ToastRefHandle>>;

                                                              export { }



















import { TooltipProps } from './index';
import { classList as cn } from '@/utils';
import { useState, useEffect, useRef, useMemo } from 'react';
import './Tooltip.css';
import { calculateTooltipPosition } from '@/shared/component/tooltip/calculateTooltipPosition';
import { useAppendTo } from '@/hooks';
import { createPortal } from 'react-dom';

const Tooltip = ({
  size = 'xs',
  location = 'top',
  label = '',
  contrast = false,
  direction = true,
  tracking = false,
  templateOnly = false,
  className,
  tooltipClassName,
  children,
  // Пропс ширины контейнера контента для которого отображается Tooltip
  widthContainer = 'w-fit',
  clickState = false,
  clickMessage = 'Скопировано',
  enterClickDelay = 700,
  enterHoverDelay = 0,
  showMessageOnFocus = true,
  ...props
}: TooltipProps) => {
  const [active, setActive] = useState(false);
  const [hideTooltipState, setHideTooltipState] = useState(false);
  const tooltipMain = useRef<HTMLInputElement>(null);
  const tooltipHint = useRef<HTMLInputElement>(null);
  const [transferTooltip, setTransferTooltip] = useState(false);
  const heightArrow = 6;
  const marginBetweenTooltipAndElement = 4;
  const distBetweenElementAndTooltip = marginBetweenTooltipAndElement + heightArrow;
  const [textTooltip, setTextTooltip] = useState(label);
  const distBetweenSideAndArrowHorizontal = size === 'xs' ? 14 : 18;
  const distBetweenSideAndArrowVertical = size === 'xs' ? 10 : 12;

  const { appendTo } = useAppendTo(props?.appendTo);

  useEffect(() => {
    setTextTooltip(label);
  }, [label]);

  useEffect(() => {
    if (!active && clickState) {
      setTextTooltip(label);
    }
  }, [active, clickState]);

  const showMessage = () => {
    setHideTooltipState(false);
    setActive(true);
  };

  useEffect(() => {
    let timer: number;

    if (hideTooltipState) {
      if (tooltipHint.current) {
        tooltipHint.current.style.bottom = 'null';
      }
      setTransferTooltip(false);
      if (enterClickDelay && textTooltip === clickMessage) {
        timer = setTimeout(() => {
          setActive(false);
        }, enterClickDelay);
      } else if (enterHoverDelay && textTooltip !== clickMessage) {
        timer = setTimeout(() => {
          setActive(false);
        }, enterHoverDelay);
      } else {
        setActive(false);
      }
    }

    return () => {
      clearTimeout(timer);
    };
  }, [hideTooltipState]);

  const hideTooltipAfterScroll = () => {
    setHideTooltipState(true);
  };

  useEffect(() => {
    if (active) {
      const maxZIndex = [...document.body.querySelectorAll('*')]
        .map((el) => parseFloat(window.getComputedStyle(el).zIndex) || 0)
        .reduce((max, index) => Math.max(max, index), 0);
      if (tooltipHint.current) {
        tooltipHint.current.style.zIndex = `${maxZIndex + 1}`;
      }
      document.addEventListener('scroll', () => hideTooltipAfterScroll());
    } else {
      document.removeEventListener('scroll', () => hideTooltipAfterScroll());
    }
  }, [active]);

  const moveTooltip = (e) => {
    if (tracking && tooltipMain.current && tooltipHint.current) {
      const tooltipWidth = tooltipHint.current?.offsetWidth;
      const x = e.clientX - tooltipWidth / 2 + window.scrollX;
      const y = e.clientY + 10 + window.scrollY;
      tooltipHint.current.style.top = `${y}px`;
      tooltipHint.current.style.left = `${x}px`;
    }
  };

  useEffect(() => {
    if (tooltipMain.current && tooltipHint.current) {
      if (active && (location === 'top' || location === 'top-left' || location === 'top-right')) {
        const positionChildrenElement = tooltipMain.current.getBoundingClientRect();
        if (
          positionChildrenElement.top -
            tooltipHint.current?.offsetHeight -
            distBetweenElementAndTooltip <
          0
        ) {
          setTransferTooltip(true);
        }
      } else if (
        active &&
        (location === 'bottom' || location === 'bottom-left' || location === 'bottom-right')
      ) {
        const positionChildrenElement = tooltipMain.current.getBoundingClientRect();
        if (
          window.innerHeight -
            (positionChildrenElement.top +
              positionChildrenElement.height +
              distBetweenElementAndTooltip) <
          tooltipHint.current?.offsetHeight
        ) {
          setTransferTooltip(true);
        }
      }
    }
  }, [active, textTooltip]);

  useEffect(() => {
    if (!tracking && tooltipHint.current && tooltipMain.current) {
      calculateTooltipPosition(
        tooltipMain,
        tooltipHint,
        location,
        direction,
        distBetweenElementAndTooltip,
        distBetweenSideAndArrowHorizontal,
        distBetweenSideAndArrowVertical,
        marginBetweenTooltipAndElement,
        transferTooltip,
      );
    }
  }, [
    active,
    textTooltip,
    location,
    transferTooltip,
    direction,
    tracking,
    distBetweenElementAndTooltip,
    distBetweenSideAndArrowHorizontal,
    distBetweenSideAndArrowVertical,
    tooltipHint,
  ]);

  const tooltipContainerChildren = useMemo(() => {
    return cn('relative', widthContainer);
  }, [widthContainer]);

  const tooltipItemCn = useMemo(() => {
    return cn(
      `
        tooltip
        ${location}
        ${size}
        tooltip-focusShadow-color
        tooltip-${size}-height
        tooltip-max-width
        tooltip-${size}-padding-horizontal
        tooltip-${size}-padding-vertical
        tooltip-${location}-arrow-margin
        tooltip-border-radius
        tooltip-${size}-default-contast-text-color
      `,
      {
        ['absolute']: !templateOnly,
        ['no-direction']: !direction,
        ['tooltip-default-color']: !contrast,
        ['tooltip-default-bg']: !contrast,
        ['tooltip-contrast-color']: contrast,
        ['tooltip-contrast-bg']: contrast,
        ['tooltip-animation']: active,
      },
      tooltipClassName,
    );
  }, [active, contrast, location, size, transferTooltip]);

  const tooltipLimitContentCn = useMemo(() => {
    return cn({
      [` ${location}`]: !transferTooltip,
      ['top']: transferTooltip && location === 'bottom',
      ['top-left']: transferTooltip && location === 'bottom-left',
      ['top-right']: transferTooltip && location === 'bottom-right',
      ['bottom']: transferTooltip && location === 'top',
      ['bottom-left']: transferTooltip && location === 'top-left',
      ['bottom-right']: transferTooltip && location === 'top-right',
    });
  }, [transferTooltip, location]);

  const tooltipArrowCn = useMemo(() => {
    return cn(
      `
        tooltip-arrow
        tooltip-arrow-size
        ${size}
        ${tooltipLimitContentCn}`,
      {
        ['tooltip-border-rigth-color']: !contrast,
        ['tooltip-contrast-border-rigth-color']: contrast,
      },
    );
  }, [active, size, contrast, tooltipLimitContentCn]);

  const tooltipElement = useMemo(() => {
    if (textTooltip) {
      return (
        <div className={`${tooltipItemCn}`} ref={tooltipHint}>
          {textTooltip}
          {direction && !tracking && <div className={`${tooltipArrowCn}`}></div>}
        </div>
      );
    } else {
      return null;
    }
  }, [textTooltip, tooltipItemCn, tooltipHint, direction, tracking, tooltipArrowCn]);

  if (templateOnly) {
    return tooltipElement;
  }

  return (
    <div
      className={cn(tooltipContainerChildren, className)}
      ref={tooltipMain}
      onClick={() => clickState && setTextTooltip(clickMessage)}
      onMouseEnter={showMessage}
      onMouseLeave={() => setHideTooltipState(true)}
      onMouseMove={moveTooltip}
      onFocus={() => {
        if (showMessageOnFocus) showMessage();
      }}
      onBlur={() => setHideTooltipState(true)}
    >
      {children}
      {active && createPortal(tooltipElement, appendTo as HTMLElement)}
    </div>
  );
};

export default Tooltip;