import { z } from "zod"; export declare const AGENT_PALETTE_IDS: readonly ["bubblegum-sky", "pink-lemonade", "orchid-peach", "coral-mint", "lime-lagoon", "arctic-blue", "solar-flare", "violet-ember", "deep-tide", "coral-current", "golden-hour", "tangerine-cobalt", "electric-grove", "flamingo-jade", "cherry-pop", "turquoise-cherry", "ultraviolet-tide"]; export type AgentPaletteId = typeof AGENT_PALETTE_IDS[number]; export type CharacterPaletteId = AgentPaletteId | "muted-dream"; export declare const AGENT_AVATAR_SIZES: readonly [16, 20, 24, 32, 40, 48, 64, 96, 128, 256, 512]; export type AgentAvatarSize = typeof AGENT_AVATAR_SIZES[number]; export type AgentAvatarBackground = "transparent" | "paperclip-dark"; /** sRGB PNG equivalent of index.css .dark --background: oklch(0.205 0 0). */ export declare const PAPERCLIP_DARK_AVATAR_BACKGROUND = "#171717"; export declare const CHARACTER_STATES: readonly ["rest", "idle", "listening", "thinking", "working", "success", "confused", "sleepy", "loading"]; export type CharacterState = typeof CHARACTER_STATES[number]; export declare const agentAppearanceSchema: z.ZodObject<{ schemaVersion: z.ZodLiteral<1>; characterVersion: z.ZodLiteral<"cap-v1">; paletteId: z.ZodEnum<{ "arctic-blue": "arctic-blue"; "bubblegum-sky": "bubblegum-sky"; "cherry-pop": "cherry-pop"; "coral-current": "coral-current"; "coral-mint": "coral-mint"; "deep-tide": "deep-tide"; "electric-grove": "electric-grove"; "flamingo-jade": "flamingo-jade"; "golden-hour": "golden-hour"; "lime-lagoon": "lime-lagoon"; "orchid-peach": "orchid-peach"; "pink-lemonade": "pink-lemonade"; "solar-flare": "solar-flare"; "tangerine-cobalt": "tangerine-cobalt"; "turquoise-cherry": "turquoise-cherry"; "ultraviolet-tide": "ultraviolet-tide"; "violet-ember": "violet-ember"; }>; customAvatarAssetId: z.ZodOptional; }, z.core.$strict>; export type AgentAppearance = z.infer; export declare function appearanceForPalette(paletteId: AgentPaletteId): AgentAppearance; /** A persisted choice, never randomize while rendering. */ export declare function randomAgentAppearance(): AgentAppearance; /** Must match the migration: rolling base-31 hash, modulo 17 at every step. */ export declare function legacyAgentAppearance(id: string): AgentAppearance; export declare function resolveAgentAppearance(appearance: unknown, id?: string): AgentAppearance; export declare function agentAvatarUrl(appearance: AgentAppearance, size?: AgentAvatarSize, scale?: 1 | 2, pose?: CharacterState, muted?: boolean, background?: AgentAvatarBackground): string; export declare function characterStateForAgent(status: string): CharacterState; /** Hydrate compact agent projections without an additional per-agent request. */ export declare function withAgentAppearance(agent: T): T & { appearance: { schemaVersion: 1; characterVersion: "cap-v1"; paletteId: "arctic-blue" | "bubblegum-sky" | "cherry-pop" | "coral-current" | "coral-mint" | "deep-tide" | "electric-grove" | "flamingo-jade" | "golden-hour" | "lime-lagoon" | "orchid-peach" | "pink-lemonade" | "solar-flare" | "tangerine-cobalt" | "turquoise-cherry" | "ultraviolet-tide" | "violet-ember"; customAvatarAssetId?: string | undefined; }; avatarUrl: string; }; //# sourceMappingURL=agent-appearance.d.ts.map