///
import { type ButtonProps } from '../Button';
import type { LinkButtonProps, Organization } from './types';
export type NewMenuOrganizationProps = {
/**
* Настройка названия раздела с текущей организацией
*/
currentOrganizationGroupLabel?: string;
/**
* Выбранная организация
*/
currentOrganization: TData & {
linkButton?: LinkButtonProps;
};
/**
* Список организаций
*/
organizations: TData[];
/**
* Обработчик выбора организации
*/
onChange: (organization: TData) => void;
/**
* Обработчик поиска
*/
onChangeSearch?: (value?: string) => void;
/**
* Настройка кнопки в футере
*/
action?: {
text: string;
} & Pick;
/**
* Флаг загрузки
*/
isLoading?: boolean;
/**
* Флаг состояния ошибки
*/
isError?: boolean;
/**
* Группировка организаций
* @property {string} name - Название группы.
* @property {Function} filter - Функция фильтрации, которая принимает список организаций и возвращает отфильтрованный список.
*/
groupBy?: Array<{
name: string;
filter: (organizations: TData[]) => TData[];
}>;
/**
* Обработчик загрузки организаций
*/
onRetry: () => void;
/**
* Обработчик открытия Popover
*/
onOpen?: () => void;
/**
* Обработчик закрытия Popover
*/
onClose?: () => void;
/**
* Если true, Popover будет открыт
*/
isOpen?: boolean;
/**
* Если true, компонент будет недоступен для взаимодействия
*/
isDisabled?: boolean;
/**
* Текст тултипа при заблокированном состоянии компонента
*/
disableReason?: string;
/**
* Скрытие персональных данных от инструментов мониторинга
*/
isHidePersonalData?: boolean;
};
export declare const NewMenuOrganization: = Organization>(props: NewMenuOrganizationProps) => JSX.Element;