export interface MenuItem extends Omit { href?: string; value?: string; renderBody?: Marko.Body; separator?: boolean; checked?: boolean; badgeNumber?: number; } export interface BaseMenuInput { item?: Marko.AttrTag; type?: string; variant?: string; } export interface MenuState { checkedIndex?: number; checkedItems?: boolean[]; isSelected: boolean; selectedCount: number; } declare const Component: typeof Marko.Component; export declare class MenuUtils extends Component { type?: string; items: MenuItem[]; isRadio(): boolean; getCheckedValues(): (string | undefined)[]; getCheckedIndexes(): number[] | undefined; getInputState(input: Input): { checkedIndex: number; isSelected: boolean; selectedCount: number; checkedItems?: undefined; } | { checkedItems: boolean[]; isSelected: boolean; selectedCount: number; checkedIndex?: undefined; }; getSelectedCount(checkedItems?: boolean[]): number; isChecked(index: number): boolean; isDisabled(index: number): import("marko/tags-html").AttrBoolean; toggleChecked(index: number | number[]): void; getSeparatorMap(input: Input): Record; } export default function setupMenu(instance: any): void; export {};