import type { GjsContext } from "../../../../reconciler/gjs-renderer"; import type { HostContext } from "../../../../reconciler/host-context"; import { BaseElement, type GjsElement } from "../../../gjs-element"; import { ElementLifecycleController } from "../../../utils/element-extenders/element-lifecycle-controller"; import type { DiffedProps } from "../../../utils/element-extenders/map-properties"; import { PropertyMapper } from "../../../utils/element-extenders/map-properties"; import type { ChildPropertiesProps } from "../../../utils/property-maps-factories/create-child-props-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 { Bin } from "../../../utils/widgets/bin"; import type { TextNode } from "../../text-node"; import { PopoverMenuContentElement } from "../popover-menu-content"; import { PopoverMenuEntryElement } from "./popover-menu-entry"; type PopoverMenuItemPropsMixin = ChildPropertiesProps & SizeRequestProps & MarginProps & StyleProps & TooltipProps; export type PopoverMenuItemProps = PopoverMenuItemPropsMixin; export declare class PopoverMenuItemElement extends BaseElement implements GjsElement<"POPOVER_MENU_ITEM", Bin> { static getContext(currentContext: HostContext): HostContext; readonly kind = "POPOVER_MENU_ITEM"; protected widget: Bin; protected parent: PopoverMenuEntryElement | PopoverMenuContentElement | null; protected readonly lifecycle: ElementLifecycleController; protected handlers: null; protected readonly propsMapper: PropertyMapper; protected child: GjsElement | null; constructor(props: DiffedProps); setParentMenu(): void; setRootMenu(): void; updateProps(props: DiffedProps): void; appendChild(child: TextNode | GjsElement): void; insertBefore(child: TextNode | GjsElement, beforeChild: GjsElement): void; remove(parent: GjsElement): void; render(): void; notifyWillMountTo(parent: GjsElement): boolean; notifyMounted(): void; notifyChildWillUnmount(child: GjsElement): void; show(): void; hide(): void; getWidget(): Bin; getParentElement(): PopoverMenuEntryElement | PopoverMenuContentElement | null; } export {};