import { HtmlCompositeAttributes } from '@cleartrip/ct-design-types';
import { ReactNode } from 'react';
export type ClickAwayMouseEventHandler = 'onClick' | 'onMouseDown' | 'onMouseUp' | 'onPointerDown' | 'onPointerUp';
export type ClickAwayTouchEventHandler = 'onTouchStart' | 'onTouchEnd';
export interface OutsideClickHandlerProps {
/**
* click handler for outside event
*/
onOutsideClick: (event: MouseEvent | TouchEvent) => void;
/**
* check if outside click event is disabled
* @default false
*/
disabled?: boolean;
/**
* the mouse event it should listen to
* @default 'onCLick'
*/
mouseEvent?: ClickAwayMouseEventHandler;
/**
* touch event it should listen
* @default 'onTouchEnd'
*/
touchEvent?: ClickAwayTouchEventHandler;
/**
* children
*/
children: ReactNode;
wrapperProps?: HtmlCompositeAttributes