export var State;
(function (State) {
    State["Error"] = "error";
    State["Satisfied"] = "satisfied";
    State["Incomplete"] = "incomplete";
})(State || (State = {}));
export var Color;
(function (Color) {
    Color["Dark"] = "dark";
    Color["Light"] = "light";
    Color["Gray"] = "gray";
})(Color || (Color = {}));
export var Comparison;
(function (Comparison) {
    Comparison["Equal"] = "eq";
    Comparison["AtLeast"] = "ge";
    Comparison["AtMost"] = "le";
})(Comparison || (Comparison = {}));
export const COMPARISONS = [
    Comparison.Equal,
    Comparison.AtLeast,
    Comparison.AtMost,
];
export var Direction;
(function (Direction) {
    Direction["Up"] = "up";
    Direction["Down"] = "down";
    Direction["Left"] = "left";
    Direction["Right"] = "right";
})(Direction || (Direction = {}));
export const DIRECTIONS = [
    Direction.Up,
    Direction.Down,
    Direction.Left,
    Direction.Right,
];
export function directionToggle(...directions) {
    const result = {
        up: false,
        down: false,
        left: false,
        right: false,
    };
    for (const direction of directions) {
        result[direction] = true;
    }
    return result;
}
export var Orientation;
(function (Orientation) {
    Orientation["Up"] = "up";
    Orientation["UpRight"] = "up-right";
    Orientation["Right"] = "right";
    Orientation["DownRight"] = "down-right";
    Orientation["Down"] = "down";
    Orientation["DownLeft"] = "down-left";
    Orientation["Left"] = "left";
    Orientation["UpLeft"] = "up-left";
})(Orientation || (Orientation = {}));
export const ORIENTATIONS = [
    Orientation.Up,
    Orientation.UpRight,
    Orientation.Right,
    Orientation.DownRight,
    Orientation.Down,
    Orientation.DownLeft,
    Orientation.Left,
    Orientation.UpLeft,
];
export function orientationToggle(...orientations) {
    const result = {
        up: false,
        'up-right': false,
        right: false,
        'down-right': false,
        down: false,
        'down-left': false,
        left: false,
        'up-left': false,
    };
    for (const orientation of orientations) {
        result[orientation] = true;
    }
    return result;
}
export var Mode;
(function (Mode) {
    Mode["Create"] = "create";
    Mode["Solve"] = "solve";
})(Mode || (Mode = {}));
