import { Enumify, Simplify } from "./utils.js"; export declare const Direction: { readonly North: "north"; readonly East: "east"; readonly South: "south"; readonly West: "west"; }; export type Direction = Enumify; export declare const Color: { readonly Black: "black"; readonly Red: "red"; readonly Green: "green"; readonly Blue: "blue"; readonly Yellow: "yellow"; }; export type Color = Enumify; export declare function toHex(rawColor: Color | string): string; export declare const Shape: { readonly None: "none"; readonly Square: "square"; readonly Circle: "circle"; }; export type Shape = Enumify; export type Dancer = { /** * The dancer's horizontal coordinate, increasing from west to east. Units * are matrix spots. */ x: number; /** * The dancer's vertical coordinate, increasing from north to south. Units * are matrix spots. */ y: number; /** * The (possibly empty) list of directions of the dancer's nose. * Default: [] */ direction?: Direction | Direction[]; /** * The dancer's label. * Default: "" */ label?: string; /** * Whether the dancer is a phantom, and should be drawn with a dashed border. * Default: false */ phantom?: boolean; /** * How much to rotate this dancer clockwise, in degrees. This does not rotate * the dancer's label. * Default: 0 */ rotate?: number; /** * Overrides the color used to draw the dancer's body and nose. */ color?: Color | string; /** * Overrides the shape used to draw the dancer's body. */ shape?: Shape; }; export declare function defineDancers(dancers: Dancer[]): Dancer[]; export type DancerResolved = Simplify> & Pick & { direction: Direction[]; }>; export declare function resolveDancer(dancer: Dancer): DancerResolved;