import type { Bot, BotsState } from './Bot';
import type { BotCalculationContext } from './BotCalculationContext';
import type { BotAction, ApplyStateAction, AddBotAction, RemoveBotAction, UpdateBotAction } from './BotEvents';
/**
 * Calculates the list of events needed to destroy the given bot and all of its decendents.
 * @param calc The bot calculation context.
 * @param bot The bot to destroy.
 */
export declare function calculateDestroyBotEvents(calc: BotCalculationContext, bot: Bot): BotAction[];
/**
 * Filters the given array of rejected actions.
 *
 * @param actions The actions to filter.
 */
export declare function resolveRejectedActions(actions: BotAction[]): BotAction[];
/**
 * Calculates the individual bot update events for the given event.
 * @param currentState The current state.
 * @param event The event.
 */
export declare function breakIntoIndividualEvents(currentState: BotsState, event: ApplyStateAction): (AddBotAction | RemoveBotAction | UpdateBotAction)[];
//# sourceMappingURL=BotActions.d.ts.map