import { Dispatch, SetStateAction } from 'react'; import { PopoverProps } from '../Popover'; type DataAttributes = { [K in `data-${string}`]?: string; }; export type AiAgentPopoverCustomPlacement = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'; export type AiAgentPopoverPlacement = PopoverProps['placement'] | AiAgentPopoverCustomPlacement; export type AiAgentPopoverPosition = { x: number; y: number; }; export type AiAgentPopoverPositionState = [ AiAgentPopoverPosition, Dispatch> ]; export type AiAgentPopoverDragBoundary = { top?: number; right?: number; bottom?: number; left?: number; }; export type AiAgentPopoverDragSector = 1 | 2 | 3 | 4 | 5 | 6; export type AiAgentPopoverResizableConfig = Exclude; export type AiAgentPopoverProps = Omit & { contentContainerClassNames?: string; calculateOffset?: boolean; calculatePlacement?: boolean; placement?: AiAgentPopoverPlacement; draggable?: boolean; positionState?: AiAgentPopoverPositionState; defaultPosition?: AiAgentPopoverPosition | AiAgentPopoverCustomPlacement; dragBoundary?: AiAgentPopoverDragBoundary; ignoreToggleOnDrag?: boolean; onPositionChange?: (pos: { x: number; y: number; }) => void; useStorage?: boolean | string; resizable?: boolean | ((placement: AiAgentPopoverPlacement) => Partial); targetDataAttributes?: DataAttributes; }; export {};