import type { ReactNode } from 'react'; export declare const MASCOT_STATES: readonly ["reveal", "thinking", "done", "idle", "reading", "error", "stopped", "sleeping", "listening", "speaking"]; export type MascotState = (typeof MASCOT_STATES)[number]; export type MascotView = 'hero' | 'chat'; export type MascotAnimationType = 'loop' | 'once'; export type HeroMascotState = Extract; export type ChatMascotState = MascotState; /** Ready-to-render animated mascots grouped by their surface and state. */ export type MascotCollection = { hero?: Partial>; chat?: Partial>; }; export type MascotThemedAsset = { type: 'themed'; light?: TAsset; dark?: TAsset; }; export type MascotAsset = { type: 'asset'; value: TAsset; } | MascotThemedAsset; export type MascotAssets = Partial>>; export interface MascotRenderContext { view: MascotView; state: MascotState; animationType: MascotAnimationType; /** Assets after defaults and overrides have been merged. */ assets?: MascotAssets; }