import { BgsPlayerEntity } from '../bgs-player-entity';
import { BoardEntity } from '../board-entity';
import { FullGameState } from './internal-game-state';
export declare const addMinionsToBoard: (board: BoardEntity[], boardHero: BgsPlayerEntity, otherBoard: BoardEntity[], otherHero: BgsPlayerEntity, index: number, minionsToAdd: readonly BoardEntity[], gameState: FullGameState) => void;
export declare const addMinionToBoard: (board: BoardEntity[], boardHero: BgsPlayerEntity, otherBoard: BoardEntity[], otherHero: BgsPlayerEntity, index: number, minionToAdd: BoardEntity, gameState: FullGameState, performAfterSpawnEffects?: boolean, applySelfAuras?: boolean) => void;
export declare const handleAddedMinionAuraEffect: (board: BoardEntity[], boardHero: BgsPlayerEntity, otherBoard: BoardEntity[], otherHero: BgsPlayerEntity, spawned: BoardEntity, gameState: FullGameState, applySelfAuras?: boolean, isActuallySpawned?: boolean) => void;
export declare const applyAurasToSelf: (spawned: BoardEntity, board: BoardEntity[], boardHero: BgsPlayerEntity, gameState: FullGameState) => void;
export declare const removeAurasFromSelf: (entity: BoardEntity, board: BoardEntity[], boardHero: BgsPlayerEntity, gameState: FullGameState) => void;
export declare const onMinionSummoned: (hero: BgsPlayerEntity, board: BoardEntity[], gameState: FullGameState) => void;
export interface OnSpawnInput {
    hero: BgsPlayerEntity;
    board: BoardEntity[];
    gameState: FullGameState;
}
export interface OnOtherSpawnInput {
    spawned: BoardEntity;
    hero: BgsPlayerEntity;
    board: BoardEntity[];
    otherHero: BgsPlayerEntity;
    otherBoard: BoardEntity[];
    gameState: FullGameState;
    applySelfAuras: boolean;
}
export interface OnOtherSpawnAuraInput {
    spawned: BoardEntity;
    hero: BgsPlayerEntity;
    board: BoardEntity[];
    gameState: FullGameState;
}
export interface OnDespawnInput {
    hero: BgsPlayerEntity;
    board: BoardEntity[];
    gameState: FullGameState;
}
