import { type KitBlueprint, type KitOwnerIdKind } from './core.js'; /** Options for {@link decksBlueprint}. */ export interface DecksBlueprintOptions { /** Prefix for the type/function names. Defaults to none. */ typePrefix?: string; /** * Turn-based mode: adds `is_current_turn` to draw/play/discard, so only * the player whose session turn it is may act. Defaults to false. */ turnBased?: boolean; /** * Fan-out cap of the manual shuffle automation (raise it above your * largest deck size). Defaults to 200. */ shuffleMaxTargets?: number; /** Owner-mirror typing (see the kit convention). Defaults to `'int'`. */ ownerIdKind?: KitOwnerIdKind; } /** Names derived by {@link decksBlueprint} for a given prefix. */ export interface DecksNames { cardDefType: string; cardType: string; drawFn: string; playFn: string; discardFn: string; assignPositionFn: string; shuffleAutomation: string; } /** Compute the type/function names a decks blueprint (and its runtime helper) uses. */ export declare function decksNames(typePrefix?: string): DecksNames; /** * Blueprint for **cards & hidden information**: an admin `CardDef` catalog * and session-scoped `CardInstance`s whose `card_id` carries * **`visibility: "owner"`** — the two-property hidden-info trick: only the * owner's reads include `card_id`, while the public `revealed_card_id` stays * empty until the card is played/discarded (the play function copies it in * the same transaction). Opponents can see a card EXISTS in your hand, not * what it is — enforced by read filtering, not client discipline. * * Shuffling is honest about the platform: expressions can't index arrays, so * decks are ordered by a `position` int dealt by `assign_position` * (`rand_int(0, 1000000)` per card) via a **manual, type-fan-out * automation** — `kit.decks.shuffle()` runs it (admin), and drawing takes * the owner's lowest-position deck card ("top of deck"; the runtime picks * it, the server enforces the zone transition and ownership). * * Runtime counterpart: `client.kit(appId).decks`. */ export declare function decksBlueprint(options?: DecksBlueprintOptions): KitBlueprint; //# sourceMappingURL=decks.d.ts.map