import { Action } from "../../affect/affect.types";
import { PostMovementRules } from "../piece-movement/movement-rules.const";
import { PieceType } from "../../piece/piece.constants";
import { UUID } from "crypto";
import { PostMovementRuleMeta } from "./post-movement.types";
export declare abstract class PostMovementRule {
    readonly id: UUID;
    name: PostMovementRules;
    constructor(id: UUID, name: PostMovementRules);
    abstract updateMovesAffects(moves: Action[], pieceType: PieceType): Action[];
    abstract getMeta(): PostMovementRuleMeta;
}
