import { Component, ExtractPropTypes, PropType } from 'vue'; export interface ContextMenuItem { label: string; icon?: string | Component; action: (item: MenuItem) => void; disabled?: boolean; destructive?: boolean; } export interface MenuItem { key: string; label: string; icon?: string | Component; disabled?: boolean; badge?: string | number; badgeType?: 'default' | 'primary' | 'success' | 'warning' | 'danger'; group?: string; divider?: boolean; children?: MenuItem[]; action?: (item: MenuItem) => void; to?: string | Record; dot?: boolean; dotColor?: string; pinned?: boolean; contextMenu?: ContextMenuItem[]; } export type MenuTheme = 'light' | 'dark'; export declare const menuProps: { readonly items: { readonly type: PropType; readonly default: () => never[]; }; readonly modelValue: { readonly type: StringConstructor; readonly default: ""; }; readonly theme: { readonly type: PropType; readonly default: "light"; }; readonly rootClass: { readonly type: PropType>; readonly default: ""; }; readonly bordered: { readonly type: BooleanConstructor; readonly default: true; }; readonly radius: { readonly type: PropType; readonly default: 12; }; readonly itemRadius: { readonly type: PropType; readonly default: 8; }; readonly itemHeight: { readonly type: PropType; readonly default: 38; }; readonly overflow: { readonly type: BooleanConstructor; readonly default: false; }; readonly indicator: { readonly type: BooleanConstructor; readonly default: false; }; readonly sticky: { readonly type: BooleanConstructor; readonly default: false; }; readonly loading: { readonly type: BooleanConstructor; readonly default: false; }; readonly loadingCount: { readonly type: NumberConstructor; readonly default: 4; }; readonly responsive: { readonly type: BooleanConstructor; readonly default: false; }; readonly breakpoint: { readonly type: NumberConstructor; readonly default: 768; }; readonly drawerInline: { readonly type: BooleanConstructor; readonly default: false; }; readonly drawerWidth: { readonly type: PropType; readonly default: 280; }; readonly drawerTitle: { readonly type: StringConstructor; readonly default: "Menu"; }; }; export declare const menuEmits: { 'update:modelValue': (key: string) => boolean; select: (key: string, item: MenuItem) => boolean; 'context-menu': (item: MenuItem, event: MouseEvent) => boolean; }; export type MenuProps = ExtractPropTypes;