import { Character } from '../Character/types'; import type { PhilosophicalAlignment } from '../Philosophy/types'; import { Effect } from '../Effects/types'; import { Combatant, CombatState, Stance } from '../Combat/types'; import { Equipment, EquipmentSlot } from '../Items/types'; import { CombatResources, Card, CardCategory } from './types'; export declare function generateBasicActionResources(resources: CombatResources, stance: Stance, outcome: 'hit' | 'miss' | 'defend', equipment?: Partial>): CombatResources; export declare function generatePhilosophicalResource(resources: CombatResources, category: CardCategory): CombatResources; export declare function calculateSkillDamage(actor: Combatant, skill: Card, target?: Combatant): number; export declare function philosophicalCategoryFor(skill: Card): CardCategory; export declare function meetsLearningRequirement(character: Pick, skill: Card, alignment?: PhilosophicalAlignment): boolean; export declare function getAvailableSkills(character: Pick, alignment?: PhilosophicalAlignment): Card[]; export declare function learnSkill(character: Character, skillId: string, alignment?: PhilosophicalAlignment): Character; export type CardEvent = { kind: 'damage'; skillId: string; target: 'self' | 'enemy'; amount: number; hpBefore: number; hpAfter: number; } | { kind: 'heal'; skillId: string; target: 'self' | 'enemy'; amount: number; hpBefore: number; hpAfter: number; } | { kind: 'effect-applied'; skillId: string; appliedTo: 'self' | 'enemy'; effect: Effect; message: string; } | { kind: 'buff-fumbled'; skillId: string; appliedTo: 'self' | 'enemy'; effect: Effect; message: string; } | { kind: 'buff-stripped'; skillId: string; target: 'self' | 'enemy'; effect: Effect | null; } | { kind: 'buff-converted'; skillId: string; effect: Effect | null; message: string; } | { kind: 'philosophical-generated'; skillId: string; category: CardCategory; } | { kind: 'synergy-fired'; skillId: string; bonusDamage: number; consumedEffectIds: { caster: string[]; target: string[]; }; consumedAllResources: boolean; consumedTokens: number; clearedAllEffects: boolean; } | { kind: 'friendship-incremented'; skillId: string; amount: number; } | { kind: 'befriend-attempted'; skillId: string; successful: boolean; message: string; }; export interface CardResolution { state: CombatState; events: CardEvent[]; activateMercyChoice?: boolean; } export interface CardLookup { (skillId: string): Card | undefined; } export declare function executeSkill(state: CombatState, skillId: string, lookupSkill: CardLookup, casterSide?: 'player' | 'enemy'): CardResolution; //# sourceMappingURL=skill.engine.d.ts.map