import type { EquipmentSlot, ItemCatalog, Loadout, LoadoutEffect } from './types.js'; /** Create a fresh empty loadout. */ export declare function createEmptyLoadout(): Loadout; /** Equip an item to a slot. Returns errors if invalid. */ export declare function equipItem(loadout: Loadout, itemId: string, catalog: ItemCatalog, characterTags: string[]): { loadout: Loadout; errors: string[]; }; /** Unequip an item from a slot. Moves it to inventory. */ export declare function unequipItem(loadout: Loadout, slot: EquipmentSlot): Loadout; /** Add an item to inventory (not equipped). */ export declare function addToInventory(loadout: Loadout, itemId: string): Loadout; /** Remove an item from inventory. Returns false if not found. */ export declare function removeFromInventory(loadout: Loadout, itemId: string): { loadout: Loadout; removed: boolean; }; /** Compute aggregate effects from all equipped items. */ export declare function computeLoadoutEffects(loadout: Loadout, catalog: ItemCatalog): LoadoutEffect; /** Validate a loadout against the catalog and character tags. */ export declare function validateLoadout(loadout: Loadout, catalog: ItemCatalog, characterTags: string[]): { ok: boolean; errors: string[]; }; /** Get all items from a loadout (equipped + inventory). */ export declare function getAllItems(loadout: Loadout): string[]; //# sourceMappingURL=loadout.d.ts.map