/** * Inventory System * * Manages player inventory with support for: * - Adding/removing items * - Item stacking * - Capacity limits * - Item queries * - Event notifications */ import type { Item, EventHandler } from './types'; /** * Inventory system for managing items */ export declare class InventorySystem { private items; private capacity; private eventHandlers; constructor(capacity?: number); /** * Add an item to inventory */ addItem(item: Item): boolean; /** * Remove an item from inventory */ removeItem(itemId: string, quantity?: number): boolean; /** * Remove item by name */ removeItemByName(name: string, quantity?: number): boolean; /** * Check if inventory has an item */ hasItem(itemId: string): boolean; /** * Check if inventory has item by name */ hasItemByName(name: string, quantity?: number): boolean; /** * Get an item by ID */ getItem(itemId: string): Item | undefined; /** * Find item by name */ findItemByName(name: string): Item | undefined; /** * Get all items */ getItems(): Item[]; /** * Get items by category */ getItemsByCategory(category: string): Item[]; /** * Get item count */ getItemCount(): number; /** * Get total quantity of all items */ getTotalQuantity(): number; /** * Stack an item (increase quantity) */ private stackItem; /** * Check if inventory is full */ isFull(): boolean; /** * Get remaining capacity */ getRemainingCapacity(): number; /** * Clear all items */ clear(): void; /** * Sort items by property */ sortItems(property: keyof Item, ascending?: boolean): Item[]; /** * Search items by query */ searchItems(query: string): Item[]; /** * Get inventory value (sum of all item values) */ getTotalValue(): number; /** * Export inventory state */ export(): Item[]; /** * Import inventory state */ import(items: Item[]): void; /** * Register event handler */ on(eventType: string, handler: EventHandler): void; /** * Unregister event handler */ off(eventType: string, handler: EventHandler): void; /** * Emit event */ private emit; } //# sourceMappingURL=InventorySystem.d.ts.map