import { AmmoType, AMMO_TYPE_COUNT, AmmoItemId } from '@quake2ts/shared'; export { AmmoType, AMMO_TYPE_COUNT, AmmoItemId }; export type AmmoCaps = readonly number[]; export type AmmoSeed = Partial>; export interface AmmoInventory { readonly caps: AmmoCaps; counts: number[]; } export interface AmmoAdjustmentResult { readonly ammoType: AmmoType; readonly added: number; readonly newCount: number; readonly capped: number; readonly pickedUp: boolean; } export interface AmmoItemDefinition { readonly id: AmmoItemId; readonly ammoType: AmmoType; readonly quantity: number; readonly weaponAmmo: boolean; } export declare function getAmmoItemDefinition(id: AmmoItemId): AmmoItemDefinition; export declare function createAmmoInventory(caps?: AmmoCaps, seed?: AmmoSeed): AmmoInventory; /** * Mirrors the rerelease defaults in p_client.cpp where max ammo counts are * seeded to 50, then overridden for select types (bullets/shells/cells). */ export declare function createBaseAmmoCaps(): number[]; export declare function clampAmmoCounts(counts: readonly number[], caps: AmmoCaps): number[]; export declare function addAmmo(inventory: AmmoInventory, ammoType: AmmoType, amount: number): AmmoAdjustmentResult; export interface AmmoPickupOptions { readonly countOverride?: number; } export declare function pickupAmmo(inventory: AmmoInventory, itemId: AmmoItemId, options?: AmmoPickupOptions): AmmoAdjustmentResult; //# sourceMappingURL=ammo.d.ts.map