/** Optional i18n strings; falls back to English. */ export interface UpgradeInlineBannerTranslations { approachingTemplate?: (resource: string) => string; reachedTemplate?: (resource: string) => string; usageBytes?: (currentLabel: string, limitLabel: string) => string; usageCount?: (currentLabel: string, limitLabel: string) => string; upgrade?: string; dismissAriaLabel?: string; } export interface UpgradeInlineBannerProps { /** Banner headline. */ title?: string; /** Optional supporting message. */ message?: string; /** Resource name (e.g. "storage", "workspaces"). Used in default copy. */ resource?: string; /** Current and limit for the cap, drives the inline meter. */ current?: number; limit?: number; /** Treat values as bytes; renders formatted KB/MB/GB. */ bytes?: boolean; /** Override CTA href. Defaults to `/billing/plans`. */ upgradeHref?: string; /** Show a Dismiss (X) button. Persists in localStorage when `dismissKey` set. */ dismissible?: boolean; /** localStorage key used to persist dismissal across sessions. */ dismissKey?: string; /** Visual severity. Defaults to `warning` once `current/limit >= 0.8`. */ severity?: 'info' | 'warning' | 'critical'; className?: string; /** Optional CTA renderer (e.g. router-aware Link). */ renderCta?: (props: { href: string; }) => React.ReactNode; /** Optional dismiss callback. */ onDismiss?: () => void; /** Optional i18n strings; falls back to English defaults. */ translations?: UpgradeInlineBannerTranslations; } /** * `UpgradeInlineBanner` — slim banner intended for page headers, file lists, * and similar non-modal surfaces. Uses semantic tokens only. */ export declare function UpgradeInlineBanner({ title, message, resource, current, limit, bytes, upgradeHref, dismissible, dismissKey, severity, className, renderCta, onDismiss, translations, }: UpgradeInlineBannerProps): import("react/jsx-runtime").JSX.Element | null; //# sourceMappingURL=UpgradeInlineBanner.d.ts.map