import GridData from '../grid.js';
import { Color, Position } from '../primitives.js';
import { Shape } from '../shapes.js';
import Rule from './rule.js';
export type ShapeRegions = {
    regions: {
        positions: Position[];
        shape: Shape;
        count: number;
    }[];
    complete: boolean;
};
export default abstract class RegionShapeRule extends Rule {
    readonly color: Color;
    /**
     * @param color - The color of the regions to compare.
     */
    constructor(color: Color);
    protected getShapeRegions(grid: GridData): ShapeRegions;
    withColor(color: Color): this;
}
export declare const instance: undefined;
