import { type BONUS_CHARACTER, type BONUS_WORD } from '@scrabble-solver/constants';
import { type BonusJson } from './BonusJson';
import { type BonusValue } from './BonusValue';
import { type Cell } from './Cell';
import { type Config } from './Config';
export declare abstract class Bonus {
    readonly multiplier: number;
    readonly score: number | undefined;
    abstract readonly type: typeof BONUS_CHARACTER | typeof BONUS_WORD;
    readonly x: number;
    readonly y: number;
    constructor({ multiplier, score, x, y }: {
        multiplier: number;
        score?: number;
        x: number;
        y: number;
    });
    canApply(_config: Config, cell: Cell): boolean;
    matchesCellCoordinates(cell: Cell): boolean;
    toJson(): BonusJson;
    get value(): BonusValue;
}
