import type { VNodeChild, CSSProperties, HTMLAttributes } from 'vue'; import type { Theme } from '../typings'; export type { MenuMode, MenuTheme, } from 'ant-design-vue/lib/menu/src/interface'; export interface MenuInfo { key: string | number; keyPath: string[] | number[]; item: VNodeChild; domEvent: MouseEvent; } export interface SelectInfo extends MenuInfo { selectedKeys: string[]; } export type OpenEventHandler = ( keys: | string[] | { key: string; item: VNodeChild; trigger: string; open: boolean; }, ) => void; export type SiderTheme = Theme; export type CollapseType = 'clickTrigger' | 'responsive'; export interface SiderProps extends HTMLAttributes { prefixCls?: string; collapsible?: boolean; collapsed?: boolean; defaultCollapsed?: boolean; reverseArrow?: boolean; onCollapse?: (collapsed: boolean, type: CollapseType) => void; zeroWidthTriggerStyle?: CSSProperties; trigger?: VNodeChild | JSX.Element; width?: number | string; collapsedWidth?: number | string; breakpoint?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'; theme?: SiderTheme; onBreakpoint?: (broken: boolean) => void; }