///
export declare type RenderIconType = React.ReactNode | ((props: any) => React.ReactNode);
export interface MenuInfo {
key: React.Key;
keyPath: React.Key[];
item: React.ReactInstance;
domEvent: React.MouseEvent;
}
export interface SelectInfo extends MenuInfo {
selectedKeys?: React.Key[];
}
export declare type SelectEventHandler = (info: SelectInfo) => void;
export declare type HoverEventHandler = (info: {
key: React.Key;
hover: boolean;
}) => void;
export declare type MenuHoverEventHandler = (info: {
key: React.Key;
domEvent: React.MouseEvent;
}) => void;
export declare type MenuClickEventHandler = (info: MenuInfo) => void;
export declare type DestroyEventHandler = (key: React.Key) => void;
export declare type OpenEventHandler = (keys: React.Key[] | {
key: React.Key;
item: React.ReactInstance;
trigger: string;
open: boolean;
}) => void;
export declare type MenuMode = 'horizontal' | 'vertical' | 'vertical-left' | 'vertical-right' | 'inline';
export declare type OpenAnimation = string | Record;
export interface MiniStore {
getState: () => any;
setState: (state: any) => void;
}
export declare type LegacyFunctionRef = (node: React.ReactInstance) => void;
export declare type BuiltinPlacements = Record;
export declare type TriggerSubMenuAction = 'click' | 'hover';
export declare type AnimationType = string | Record;
export declare type TransitionNameType = string;
/**
* Follow Motion definition is copied from `rc-trigger@latest`.
* These code can be removed when `rc-trigger` updated.
*/
declare type MotionStatus = 'none' | 'appear' | 'enter' | 'leave';
declare type MotionActiveStatus = 'appear-active' | 'enter-active' | 'leave-active';
declare type MotionNameObject = {
[key in MotionStatus | MotionActiveStatus]?: string;
};
declare type MotionEventHandler = (element: HTMLElement, event: React.TransitionEvent | React.AnimationEvent | undefined) => React.CSSProperties | false | null | undefined | void;
export interface MotionType {
motionName?: string | MotionNameObject;
motionAppear?: boolean;
motionEnter?: boolean;
motionLeave?: boolean;
motionLeaveImmediately?: boolean;
removeOnLeave?: boolean;
leavedClassName?: string;
onAppearStart?: MotionEventHandler;
onAppearActive?: MotionEventHandler;
onAppearEnd?: MotionEventHandler;
onEnterStart?: MotionEventHandler;
onEnterActive?: MotionEventHandler;
onEnterEnd?: MotionEventHandler;
onLeaveStart?: MotionEventHandler;
onLeaveActive?: MotionEventHandler;
onLeaveEnd?: MotionEventHandler;
}
export {};