import { BoxProps } from '../Box/Box.types'; import * as React from 'react'; import { useDisclosureProps } from '../../hooks'; export type Omit = Pick>; export type ReplaceProps = Omit, P> & P; export interface AsProp { as?: As; } export interface PrefixProps extends React.HTMLAttributes, AsProp { } export interface PrefixRefForwardingComponent { (props: React.PropsWithChildren & P>>, context?: unknown): React.ReactElement | null; } export declare class PrefixComponent extends React.Component & P>> { } export type PrefixComponentClass = React.ComponentClass & P>>; export interface DropdownContentProps extends BoxProps { isShow?: boolean; overrideWidth?: boolean; positionDropdown?: 'left' | 'center' | 'right'; } export interface DropdownItemProps { as?: React.ElementType; isActive?: boolean; } export type DropdownItemComponent = PrefixRefForwardingComponent<'button', DropdownItemProps>; export interface DropdownToggleProps extends Omit { as?: React.ElementType; } export type DropdownTrigger = 'click' | 'hover'; export interface DropdownProps extends BoxProps { onBlur?: () => void; onOpen?: () => void; trigger?: DropdownTrigger; control?: useDisclosureProps; } export type DropdownContextValue = { onToggle: (nextShow: boolean, event?: React.SyntheticEvent | Event) => void; onClose: () => void; onBlur?: () => void; onOpen?: () => void; onShow?: () => void; trigger?: DropdownTrigger; show: boolean; };