import { ReferenceCard } from '@firestone-hs/reference-data';
import { BgsPlayerEntity } from '../bgs-player-entity';
import { BoardEntity } from '../board-entity';
import { Mutable } from '../services/utils';
import { FullGameState } from './internal-game-state';
export declare const magnetizeToTarget: (inputTargets: BoardEntity[] | (() => BoardEntity[]), source: BoardEntity, cardsToMagnetize: string[] | ReferenceCard[], board: BoardEntity[], hero: BgsPlayerEntity, otherBoard: BoardEntity[], otherHero: BgsPlayerEntity, gameState: FullGameState) => void;
export declare const getMagnetizations: (entity: BoardEntity, gameState: FullGameState) => number;
export interface OnBeforeMagnetizeInput {
    board: BoardEntity[];
    hero: BgsPlayerEntity;
    magnetizedCard: Mutable<ReferenceCard>;
    magnetizeTarget: BoardEntity;
    gameState: FullGameState;
}
export interface OnBeforeMagnetizeSelfInput {
    board: BoardEntity[];
    hero: BgsPlayerEntity;
    magnetizeTarget: BoardEntity;
    gameState: FullGameState;
}
export interface OnAfterMagnetizeSelfInput {
    board: BoardEntity[];
    hero: BgsPlayerEntity;
    magnetizeTarget: BoardEntity;
    gameState: FullGameState;
}
export interface OnAfterMagnetizeInput {
    board: BoardEntity[];
    hero: BgsPlayerEntity;
    otherHero: BgsPlayerEntity;
    otherBoard: BoardEntity[];
    magnetizedCard: ReferenceCard;
    magnetizeTarget: BoardEntity;
    gameState: FullGameState;
}
