import { Equipment, EquipmentTemplate, ItemRarity, RolledModifier } from './types'; import { uniqueModPool } from './modifier.catalogue'; export declare function rollModifiers(template: EquipmentTemplate, rarity: ItemRarity, playerLevel: number, rng: () => number): RolledModifier[]; export declare function resolveModifiers(template: EquipmentTemplate, rolledMods: RolledModifier[]): Pick; export interface AffixControl { enabled?: boolean; maxPrefixes?: number; maxSuffixes?: number; pinPrefixId?: string; pinSuffixId?: string; } export declare function dropItem(templateId: string, playerLevel: number, rarity?: ItemRarity, rng?: () => number, affix?: AffixControl): Equipment; export declare const rarityWeightTable: ReadonlyArray; export declare function previewTemplateAtRarity(templateId: string, rarity: ItemRarity, playerLevel: number, rng?: () => number): Equipment | undefined; export declare function previewTemplateAtAllRarities(templateId: string, playerLevel: number, rng?: () => number): Record; export interface DropWithAffixesOptions { rarity?: ItemRarity; rng?: () => number; maxPrefixes?: number; maxSuffixes?: number; } export declare function dropItemWithAffixes(templateId: string, playerLevel: number, opts?: DropWithAffixesOptions): Equipment; export declare const AFFIXES_PER_RARITY: Record; export declare function countNamedAffixes(item: Equipment): number; export declare function hasBakedAffix(template: { prefixId?: string; suffixId?: string; }): boolean; export declare function dropItemAtRarity(templateId: string, playerLevel: number, rarity: ItemRarity, rng?: () => number): Equipment; export { uniqueModPool }; //# sourceMappingURL=item.factory.d.ts.map