/**
 * Shared types for the buddy companion system.
 */
/** RPG-style stats for a companion */
export declare enum Stat {
    DEBUGGING = "DEBUGGING",
    PATIENCE = "PATIENCE",
    CHAOS = "CHAOS",
    WISDOM = "WISDOM",
    SNARK = "SNARK"
}
export declare const STAT_NAMES: Stat[];
export interface StatBlock {
    [Stat.DEBUGGING]: number;
    [Stat.PATIENCE]: number;
    [Stat.CHAOS]: number;
    [Stat.WISDOM]: number;
    [Stat.SNARK]: number;
}
/** Rarity tiers with weights for rolling */
export declare enum Rarity {
    COMMON = "Common",
    UNCOMMON = "Uncommon",
    RARE = "Rare",
    EPIC = "Epic",
    LEGENDARY = "Legendary"
}
/** Weight for each rarity tier (out of 100) */
export declare const RARITY_WEIGHTS: Record<Rarity, number>;
/** Eye styles substituted into ASCII art via {E} placeholder */
export declare const EYE_STYLES: readonly ["●", "○", "◉", "⊙", "◎", "°"];
/** Hats rendered above the sprite */
export declare const HATS: readonly ["", "🎩", "👑", "🎓", "🧢", "👒", "⛑️", "🪖"];
/** Species identifiers */
export type SpeciesName = "Duck" | "Goose" | "Blob" | "Cat" | "Dragon" | "Octopus" | "Owl" | "Penguin" | "Turtle" | "Snail" | "Ghost" | "Axolotl" | "Capybara" | "Cactus" | "Robot" | "Rabbit" | "Mushroom" | "Chonk";
/** Deterministic bones — re-rolled from hash on every session */
export interface CompanionBones {
    species: SpeciesName;
    rarity: Rarity;
    shiny: boolean;
    stats: StatBlock;
    eyeStyle: string;
    hat: string;
}
/** Persisted soul — generated once on first hatch */
export interface StoredCompanion {
    rerollCount: number;
    name: string;
    personality: string;
    backstory: string;
    hatchedAt: string;
    hidden?: boolean;
    ollamaModel?: string;
}
/** Full buddy state = bones (ephemeral) + soul (persisted) */
export interface BuddyState extends CompanionBones, StoredCompanion {
}
//# sourceMappingURL=buddy-types.d.ts.map