import { DisplayObject, Point, Rectangle } from "pixi.js"; import { DFocusable } from "./d-controller-focus"; import { DLayoutVertical, DLayoutVerticalOptions, DThemeLayoutVertical } from "./d-layout-vertical"; import { DMenuAlign } from "./d-menu-align"; import { DMenuContext } from "./d-menu-context"; import { DMenuItem } from "./d-menu-item"; import { DMenuItemOptionsUnion } from "./d-menu-item-options-union"; import { UtilOverlay } from "./util/util-overlay"; import { DMenuOpener } from "./d-menu-opener"; import { DMenuCloseable } from "./d-menu-closeable"; export interface DMenuOptions extends DLayoutVerticalOptions { align?: keyof typeof DMenuAlign | DMenuAlign; fit?: boolean; sticky?: boolean; items?: Array | DisplayObject | null | undefined>; } export interface DThemeMenu extends DThemeLayoutVertical { getOffsetX(): number; getOffsetY(): number; } export declare class DMenu = DMenuOptions> extends DLayoutVertical { protected static WORK_BOUNDS?: Rectangle; protected _align: DMenuAlign; protected _fit: boolean; protected _sticky: boolean; protected _sub: boolean; protected _owner: DMenuOpener | null; protected _context: DMenuContext | null; protected _overlay: UtilOverlay; protected _onPrerenderBound: () => void; protected _focused?: DFocusable | null; protected init(options?: OPTIONS): void; findItem(value: VALUE): DMenuItem | null; protected getType(): string; getContext(): DMenuContext | null; getCloseable(): DMenuCloseable | null; open(owner: DMenuOpener, closeable?: DMenuCloseable | null, context?: DMenuContext | null): this; protected onPrerender(): void; close(): this; protected onKeyDown(e: KeyboardEvent): boolean; protected containsGlobalPoint(point: Point): boolean; }