import { ActionBattleAttackHitPolicy, ActionBattleOptions, NormalizedActionBattleAttackProfile } from '../types'; import { ActionBattleHitbox } from './contracts'; export declare const ACTION_BATTLE_HITBOX_FRAME_MS = 16; export declare function getNormalizedActionBattleAttackProfile(options?: ActionBattleOptions): NormalizedActionBattleAttackProfile; export declare function resolveActionBattleHitboxSpeed(profile: NormalizedActionBattleAttackProfile, hitboxCount: number): number; export declare function scheduleActionBattleStartup(profile: NormalizedActionBattleAttackProfile, callback: () => void, scheduler?: (callback: () => void, delayMs: number) => unknown): unknown; export declare function runActionBattleActiveHitbox(profile: NormalizedActionBattleAttackProfile, resolveHitboxes: () => ActionBattleHitbox[], onHitboxes: (hitboxes: ActionBattleHitbox[]) => void, scheduler?: (callback: () => void, delayMs: number) => unknown): unknown; export declare function createActionBattleAttackId(attackerId: string | number | undefined, profileId: string): string; export declare class ActionBattleHitTracker { private readonly hitPolicy; private hitTargets; constructor(hitPolicy: ActionBattleAttackHitPolicy); canHit(target: { id?: string | number; } | undefined): boolean; recordHit(target: { id?: string | number; } | undefined): void; tryHit(target: { id?: string | number; } | undefined): boolean; }