import * as react_jsx_runtime from 'react/jsx-runtime';
import * as class_variance_authority_types from 'class-variance-authority/types';
import * as React from 'react';
import { VariantProps } from 'class-variance-authority';

declare const systemBannerVariants: (props?: ({
    variant?: "success" | "warning" | "error" | "info" | "promo" | null | undefined;
    emphasis?: "prominent" | "subtle" | null | undefined;
    actionPosition?: "inline" | "bottom" | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
interface SystemBannerProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof systemBannerVariants> {
    /** Banner title (optional — adds a bold heading) */
    title?: string;
    /** The banner message */
    children: React.ReactNode;
    /** Whether the banner can be dismissed */
    dismissible?: boolean;
    /** Callback when dismissed */
    onDismiss?: () => void;
    /** Optional action — renders as a link-style button. Use href for server components, onClick for client. */
    action?: {
        label: string;
        href?: string;
        onClick?: () => void;
    };
    /** Where to place the action: "inline" (right side) or "bottom" (below text) */
    actionPosition?: "inline" | "bottom";
    /** Override the default icon */
    icon?: string;
    /** Optional absolutely-positioned decorative layer (e.g. `<AiThinkingOverlay />`). */
    decorativeOverlay?: React.ReactNode;
}
declare function SystemBanner({ children, title, variant, emphasis, dismissible, onDismiss, action, actionPosition, icon, decorativeOverlay, className, style, ...props }: SystemBannerProps): react_jsx_runtime.JSX.Element | null;
declare const localBannerVariants: (props?: ({
    variant?: "success" | "warning" | "error" | "info" | "promo" | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
interface LocalBannerProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof localBannerVariants> {
    /** Banner title (optional) */
    title?: string;
    /** Banner message */
    children: React.ReactNode;
    /** Whether the banner can be dismissed */
    dismissible?: boolean;
    /** Callback when dismissed */
    onDismiss?: () => void;
    /** Optional action — renders as link (href) or button (onClick) */
    action?: {
        label: string;
        href?: string;
        onClick?: () => void;
    };
    /** Optional retry action for error states */
    retry?: {
        label?: string;
        onClick: () => void;
    };
    /** Override the default icon */
    icon?: string;
}
declare function LocalBanner({ children, title, variant, dismissible, onDismiss, action, retry, icon, className, ...props }: LocalBannerProps): react_jsx_runtime.JSX.Element | null;

export { LocalBanner, type LocalBannerProps, SystemBanner, type SystemBannerProps };
