import type { HTMLAttributes, ReactNode, RefObject, SyntheticEvent, Ref } from 'react';
import { Placement as PopoverPlacement, ComputedPlacement as PopoverPlacementBasic } from '@popperjs/core';
import { ResizableProps } from '../_Resizable';
export type { Placement as PopoverPlacement, ComputedPlacement as PopoverPlacementBasic } from '@popperjs/core';
export type PopoverTrigger = 'hover' | 'click';
export type CustomPopoverProps = {
/**
* @deprecated Всплывающее окно раскрыто или нет.
*/
isOpen?: boolean;
/**
* Всплывающее окно раскрыто или нет.
*/
opened?: boolean;
/**
* Способ открытия всплывающего окна - наведение или клик мышью.
* @default
* click
*/
trigger?: PopoverTrigger;
/**
* Сторона открытия окна относительно target элемента.
* @default
* auto
*/
placement?: PopoverPlacement | Array;
/**
* Отступ окна относительно элемента, у которого оно вызвано.
* @default
* [0, 0]
*/
offset?: [number, number];
/**
* В каком контейнере позиционируется(по умолчанию document), можно также указать id элемента или ref для него.
*/
frame?: 'document' | string | RefObject;
/**
* Элемент или ref на элемент, рядом с которым произойдет вызов всплывающего окна.
*/
target?: ReactNode | Ref;
/**
* Есть ли стрелка над элементом.
*/
hasArrow?: boolean;
/**
* Значение z-index для Popover.
*/
zIndex?: string;
/**
* Контент всплывающего окна.
*/
children?: ReactNode;
/**
* Предотвратить автоматическое изменение положения.
*/
preventOverflow?: boolean;
/**
* Блокировать ли фокус на всплывающем окне.
* @default
* true
*/
isFocusTrapped?: boolean;
/**
* Событие сворачивания/разворачивания всплывающего окна.
*/
onToggle?: (isOpen: boolean, event: SyntheticEvent | Event) => void;
/**
* Закрывать окно при нажатии ESC.
* @default
* true
*/
closeOnEsc?: boolean;
/**
* Закрывать окно при нажатии вне области окна. (Если trigger === 'click')
*/
closeOnOverlayClick?: boolean;
/**
* Находится ли в портале.
* @default
* false
*/
usePortal?: boolean;
/**
* Настройка resizable-режима.
*/
resizable?: ResizableProps['resizable'];
/**
* Обработчик начала ресайза.
*/
onResizeStart?: ResizableProps['onResizeStart'];
/**
* Обработчик остановки ресайза.
*/
onResizeEnd?: ResizableProps['onResizeEnd'];
/**
* Анимированное появление Popover
*/
animated?: boolean;
view?: string;
};
export type PopoverProps = HTMLAttributes & CustomPopoverProps;
//# sourceMappingURL=Popover.types.d.ts.map