import Gtk from "gi://Gtk"; import type { GjsContext } from "../../../reconciler/gjs-renderer"; import type { HostContext } from "../../../reconciler/host-context"; import { BaseElement, type GjsElement } from "../../gjs-element"; import { ChildOrderController } from "../../utils/element-extenders/child-order-controller"; import { ElementLifecycleController } from "../../utils/element-extenders/element-lifecycle-controller"; import type { SyntheticEvent } from "../../utils/element-extenders/event-handlers"; import { EventHandlers } from "../../utils/element-extenders/event-handlers"; import type { DiffedProps } from "../../utils/element-extenders/map-properties"; import { PropertyMapper } from "../../utils/element-extenders/map-properties"; import type { PointerData } from "../../utils/gdk-events/pointer-event"; import type { AccelProps } from "../../utils/property-maps-factories/create-accel-prop-mapper"; import type { ChildPropertiesProps } from "../../utils/property-maps-factories/create-child-props-mapper"; import type { ExpandProps } from "../../utils/property-maps-factories/create-expand-prop-mapper"; import type { MarginProps } from "../../utils/property-maps-factories/create-margin-prop-mapper"; import type { SizeRequestProps } from "../../utils/property-maps-factories/create-size-request-prop-mapper"; import type { StyleProps } from "../../utils/property-maps-factories/create-style-prop-mapper"; import type { TooltipProps } from "../../utils/property-maps-factories/create-tooltip-prop-mapper"; import type { TextNode } from "../text-node"; import { MenuBarItemElement } from "./menu-bar-item"; import { MenuCheckButtonElement } from "./menu-check-button"; import { MenuRadioButtonElement } from "./menu-radio-button"; type MenuEntryPropsMixin = ChildPropertiesProps & SizeRequestProps & MarginProps & ExpandProps & StyleProps & TooltipProps & AccelProps; export type MenuEntryEvent

= {}> = SyntheticEvent; export interface MenuEntryProps extends MenuEntryPropsMixin { /** Main text of the menu entry, displayed on the left side. */ label?: string; onActivate?: (event: MenuEntryEvent) => void; onMouseEnter?: (event: MenuEntryEvent) => void; onMouseLeave?: (event: MenuEntryEvent) => void; } export declare class MenuEntryElement extends BaseElement implements GjsElement<"MENU_ENTRY", Gtk.MenuItem> { static getContext(currentContext: HostContext): HostContext; readonly kind = "MENU_ENTRY"; protected widget: Gtk.MenuItem; submenu?: Gtk.Menu; labelContainer: Gtk.Box; protected parent: MenuBarItemElement | MenuEntryElement | null; protected rootBarItem: MenuBarItemElement | null; readonly lifecycle: ElementLifecycleController; protected readonly handlers: EventHandlers; protected readonly children: ChildOrderController; protected readonly propsMapper: PropertyMapper; constructor(props: DiffedProps); setRootBarItem(barItem: MenuBarItemElement): void; getRadioGroup(groupName: string): Gtk.RadioMenuItem; reattachRadioButton(button: MenuRadioButtonElement): void; updateProps(props: DiffedProps): void; appendChild(child: GjsElement | TextNode): void; insertBefore(child: GjsElement | TextNode, beforeChild: GjsElement): void; remove(parent: GjsElement): void; render(): void; notifyWillMountTo(parent: GjsElement): boolean; notifyMounted(): void; notifyChildWillUnmount(child: GjsElement): void; show(): void; hide(): void; getWidget(): Gtk.MenuItem; getParentElement(): MenuBarItemElement | MenuEntryElement | null; } export {};