/** * Dismissal-cookie primitives — THE one implementation of "this surface was * dismissed", shared by every dismissible surface (announcement bar, floating * walkthrough video, and anything added later). * * The dismissal rule is an ID MATCH, never mere cookie presence: the cookie * stores the id of the LAST dismissed item, so publishing a NEW item re-shows * the surface while the old dismissal still suppresses the old item. * * No `"use client"` on purpose — `isDismissedCookieValue` is pure and is used by * server code (the hub's root layout reads the cookie during SSR to avoid a * flash); the DOM-touching helpers guard on `typeof document`. */ /** THE dismissal match rule. `undefined` id (nothing active) → not dismissed. */ export declare function isDismissedCookieValue(cookieValue: string | undefined, id: string | undefined): boolean; /** * Read a dismissal cookie. Returns `undefined` when absent OR malformed: * `decodeURIComponent` throws `URIError` on bad percent-encoding, and callers * run this inside reveal paths where an uncaught throw would hide the surface * permanently. Failing open (treated as not-dismissed) is always the safe side. */ export declare function readDismissCookie(name: string): string | undefined; /** Persist a dismissal (cookie only, 1 year). */ export declare function writeDismissCookie(name: string, id: string): void; /** Clear a dismissal (test/story helper). */ export declare function clearDismissCookie(name: string): void; //# sourceMappingURL=dismiss-cookie.d.ts.map