import { ComponentType, HTMLAttributes, MouseEvent, ReactNode, Ref } from "react"; import { ButtonProps, ValidationStatus } from "@jpmorganchase/uitk-core"; import { LinkProps } from "../link"; import { IconProps } from "@jpmorganchase/uitk-icons"; import "./Banner.css"; export declare type BannerStatus = ValidationStatus; export declare type LabelProps = { className?: string; }; declare type StateAndPropsGetterFunction = (props?: T) => TInjectedProps; export interface GetStateAndPropGetters { Icon: ComponentType; getIconProps: StateAndPropsGetterFunction; getLabelProps: StateAndPropsGetterFunction; getLinkProps: StateAndPropsGetterFunction; } export interface BannerProps extends HTMLAttributes { /** * THe props to be passed to the close button */ CloseButtonProps?: ButtonProps; /** * Props to pass to Link, Link will not be rendered if this is undefined */ LinkProps?: LinkProps; /** * Announcement message for screen reader 250ms after the banner is mounted. */ announcement?: string; /** * close button ref */ closeRef?: Ref; /** * If true, the built-in ARIA announcer will be disabled */ disableAnnouncer?: boolean; /** * Emphasize the styling by applying a background color: defaults to false */ emphasize?: boolean; /** * onClose callback when the close icon is clicked, the dismiss button will not be rendered if this is * not defined */ onClose?: (event: MouseEvent) => void; /** * render props callback (if children callback not supplied) */ render?: (props: GetStateAndPropGetters) => ReactNode; /** * A string to determine the current state of the Banner */ status?: BannerStatus; } export declare const Banner: import("react").ForwardRefExoticComponent>; export {};