import { ActionBattleActionMode, ActionBattleActionTarget, ActionBattleEntity, ActionBattleTargetOptions } from './contracts'; export type ActionBattleAiActionRejectionReason = "cooldown" | "insufficientSp" | "outOfRange" | "invalidTarget" | "maskMiss" | "notUseful"; export interface ActionBattleAiSkillEvaluation { kind: "skill"; skill: any; id: string; mode: ActionBattleActionMode; targetPolicy: ActionBattleActionTarget; range: number; preferredRange: number; readyAt: number; target: ActionBattleEntity | ActionBattleEntity[]; targetTile?: { x: number; y: number; }; rejection?: ActionBattleAiActionRejectionReason; } export declare const resolveActionBattleAiSkillId: (skill: any) => string; export declare const evaluateActionBattleAiSkill: (input: { attacker: ActionBattleEntity; target: ActionBattleEntity; skill: any; now: number; readyAt: number; attackRange: number; hpPercent: number | null; targetOptions?: ActionBattleTargetOptions; }) => ActionBattleAiSkillEvaluation;