import type {
  BuiltInSpriteId,
  FieldId,
  Palette,
  SpriteAlias,
  SpriteName,
  SpriteRecipe,
} from "./index.js";

export const FIELD_IDS: readonly FieldId[];
export const PALETTES: Readonly<Record<string, Readonly<Palette>>>;
export const SPRITES: Readonly<
  Record<BuiltInSpriteId, Readonly<SpriteRecipe>>
>;
export const SPRITE_IDS: readonly BuiltInSpriteId[];
export const SPRITE_ALIASES: Readonly<Record<SpriteAlias, BuiltInSpriteId>>;

export function resolveSpriteId(id: unknown): BuiltInSpriteId | undefined;
export function getSprite(id: SpriteName): Readonly<SpriteRecipe> | undefined;
export function listSprites(): readonly Readonly<SpriteRecipe>[];
export function hasSprite(id: unknown): boolean;

export default SPRITES;
