import { ReelSymbol } from './ReelSymbol.js'; /** * **Debug / prototyping symbol - NOT for production.** * * `CardSymbol` is a flat-rectangle-plus-centered-text `ReelSymbol` drawn * entirely with `PIXI.Graphics`. It exists to give recipes, demos, and * mechanic tests a no-asset, no-loader, infinitely-resizable visual that * always renders crisply at any cell size, showing how the engine treats * cell space across MultiWays reshapes, big-symbol blocks, and pyramid * layouts. * * In a real game, ship one of: * * - `SpriteSymbol` - pre-rendered art at one resolution. Cheapest. * - `AnimatedSpriteSymbol` - frame-by-frame win/idle animation. * - `SpineSymbol` (via `pixi-reels/spine`) - vector skeletal animation * that scales without quality loss. Best for MultiWays where cells * resize across spins. * - Or a custom `ReelSymbol` subclass for game-specific visuals. * * Ships from the package so a prototype runs with no art at all. It is * deliberately plain `Graphics`: swap it for real art before you ship. * * ```ts * import { CardSymbol, CARD_DECK } from 'pixi-reels'; * * builder.symbols((registry) => { * for (const card of CARD_DECK) { * registry.register(card.id, CardSymbol, { color: card.color, label: card.label }); * } * }); * ``` */ export interface CardSymbolOptions { /** Hex fill color (e.g. `0xc0392b`). */ color: number; /** Centered label text (e.g. `'A'`, `'10'`, `'WILD'`). */ label: string; /** Text fill color. Defaults to white. */ textColor?: number; } export declare class CardSymbol extends ReelSymbol { private _color; private _label; private _textColor; private _gfx; private _text; constructor(opts: CardSymbolOptions); protected onActivate(_symbolId: string): void; protected onDeactivate(): void; playWin(): Promise; stopAnimation(): void; resize(width: number, height: number): void; } /** * Standard high-card deck for prototyping. Each card has its own color * so a full grid is visually unambiguous at a glance. */ export declare const CARD_DECK: ReadonlyArray<{ id: string; color: number; label: string; }>; /** A pale-yellow `WILD` card for sticky/expanding-wild prototypes. */ export declare const WILD_CARD: { readonly id: "wild"; readonly color: 16774048; readonly label: "WILD"; readonly textColor: 7033856; }; //# sourceMappingURL=CardSymbol.d.ts.map