import React from 'react'; import { type AlertProps } from './Alert.js'; export interface BannerProps extends Omit { /** * Makes the banner dismissible and remembers the dismissal in this * browser, under this key, so it does not come back on the next page or * the next visit. Change the key when the notice changes — * `maintenance-2026-10-04`, not `maintenance`. */ dismissKey?: string; /** * Makes it dismissible, and is told when it is dismissed. Without * `dismissKey`, the dismissal lasts only until the banner is mounted again. */ onDismiss?: () => void; } /** * Banner — a notice about the whole product, across the top of it: * maintenance tonight, a trial ending, the workspace in read-only mode. * * AN ALERT THAT BELONGS TO THE PAGE, NOT TO A PART OF IT. It is Alert with * `layout="banner"` — the same intents, roles, icons, colours and one-line * layout — and adds what a notice about the whole page needs. Put it in * the app shell, above the Header and outside
, so it persists across * routes: a live region is announced when it is inserted, and a banner that * remounts with every page would be announced on every page. * * DISMISSED MEANS DISMISSED. With `dismissKey` the dismissal is remembered in * this browser, so a user who has read the maintenance notice is not shown it * on every page and every visit. A banner that must stay — the workspace is * read-only, deletion is scheduled — has no key and no `onDismiss`, and no * dismiss button. * * FOCUS GOES FORWARD. Dismissing removes the button that had focus; focus * moves to the next thing after the banner rather than falling back to the * top of the document. */ export declare const Banner: React.ForwardRefExoticComponent>; //# sourceMappingURL=Banner.d.ts.map