/** * Factory for creating inventory menu builders. */ export declare class Menus { /** * Creates a new inventory menu builder. * @param title the menu title * @param rows the number of inventory rows (defaults to 3) * @returns a new menu builder */ static create(title: string, rows?: number): MenuBuilder; } /** * Fluent menu builder for creating asynchronous inventory selection UIs. */ export declare class MenuBuilder { private readonly title; private readonly rows; private readonly values; private readonly items; private fillItem; constructor(title: string, rows: number); /** * Registers a button in a menu slot and associates it with a value. * @param slot the inventory slot index * @param item the item to display in the slot * @param value the value to resolve when the button is clicked * @returns this builder for fluent chaining */ button(slot: number, item: org.bukkit.inventory.ItemStack, value: T): this; /** * Fills all currently empty slots with the given item. * @param item the filler item * @returns this builder for fluent chaining */ fill(item: org.bukkit.inventory.ItemStack): this; /** * Opens the menu for a player and waits for a selection. * @param player the player to open the menu for * @returns the selected value, or null if the inventory is closed without selecting */ open(player: org.bukkit.entity.Player): Promise; private assertSlotInBounds; }