import { HTMLAttributes, ReactNode } from 'react';
export type BannerVariant = "info" | "warning" | "error" | "success";
export interface BannerProps extends HTMLAttributes<HTMLDivElement> {
    /**
     * Visual emphasis level.
     * - `info` (default) — neutral, accent-colored. Use for tips and notices.
     * - `warning` — yellow. Use for recoverable problems.
     * - `error` — red. Use for failures that need attention.
     * - `success` — green. Use for confirmations.
     */
    variant?: BannerVariant;
    /** The message text. Keep it short — one or two sentences. */
    children: ReactNode;
    /**
     * Label for the optional action button placed at the trailing end.
     * When provided, `onAction` should also be supplied.
     */
    actionLabel?: string;
    /** Called when the user clicks the action button. */
    onAction?: () => void;
    /**
     * When true a dismiss (×) button is shown at the trailing edge.
     * Provide `onDismiss` to handle removal from the DOM.
     */
    dismissible?: boolean;
    /** Called when the user clicks the dismiss button. */
    onDismiss?: () => void;
}
/**
 * Persistent message strip displayed at the top of a view.
 *
 * Mirrors the Adwaita `AdwBanner` pattern. Use for important information
 * that persists until the user acts or explicitly dismisses it.
 *
 * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.Banner.html
 * @see https://developer.gnome.org/hig/patterns/feedback/banners.html
 */
export declare function Banner({ variant, children, actionLabel, onAction, dismissible, onDismiss, className, ...props }: BannerProps): import("react/jsx-runtime").JSX.Element;
