/** Fire-once flags for discoverability elements (ui-usage-dx §6). * * Hard rule: every discoverability element renders at most once per user per * deployment, ever — localStorage (origin-scoped, so per-deployment) is the * source of truth, and any degraded environment (SSR, sandboxed iframe, * blocked or full storage) reads as already-seen so it never nags. */ /** The one host-facing discoverability dial (ui-usage-dx §6): `"default"` * keeps the fire-once whisper + greeting-as-tutorial; `"quiet"` disables * both. Contextual affordances (slot ghosts, remix hover, triggers) are * host-placed and untouched by the dial. */ export type VendoDiscoverability = "quiet" | "default"; /** The greeting-as-tutorial content (§6 first-open moment): an agent-voiced * intro line plus 2–3 tappable starter prompts (chips PREFILL the composer, * never send). Hosts supply it via the provider/overlay `greeting` prop — * typically loaded from `.vendo/greeting.json`, which uses this exact shape. */ export interface VendoGreeting { intro: string; prompts: string[]; } /** Fallback greeting when the host supplies none: a generic capable intro * whose second prompt is always a molding prompt (the §6 requirement). */ export declare const defaultVendoGreeting: VendoGreeting; /** Fallback suggestion chips for the VendoSlot empty-state invitation * when the host supplies none — generic * view-authoring starts, white-label like everything else. Hosts should * replace these with host-aware prompts (`.vendo/greeting.json` pipeline). */ export declare const defaultSlotSuggestions: string[]; /** True once the element has fired — or whenever storage cannot answer. */ export declare function hasSeen(element: string): boolean; /** Record the element as fired. Best-effort: a write that fails stays silent * (the matching hasSeen already reports seen in those environments). */ export declare function markSeen(element: string): void;