/// <reference types="react" />
import { DefaultTheme } from "styled-components";
import { TextVariants } from "../../../styles/theme";
type AlertType = "info" | "secondary" | "success" | "warning" | "error";
type RenderProps = (props: {
    textProps: {
        variant?: TextVariants;
        fontWeight?: string;
    };
}) => JSX.Element;
export interface AlertProps {
    /**
     * Affects the colors of the background & text and what icon can be displayed.
     */
    type?: AlertType;
    /**
     * Title of the Alert.
     */
    title?: string;
    /**
     * Method for rendering additional content under the title. `{ color: string; textProps: { variant?: TextVariants; fontWeight?: string } }` is passed as props to easily style text elements.
     */
    renderContent?: RenderProps;
    /**
     * Method for rendering additional content to the right. `{ color: string; textProps: { variant?: TextVariants; fontWeight?: string } }` is passed as props to easily style text elements.
     */
    renderRight?: RenderProps;
    /**
     * Additional props to be passed to the top level container (containing icon + content).
     */
    containerProps?: Record<string, unknown>;
    /**
     * Whether or not to display an icon
     */
    showIcon?: boolean;
}
declare function Alert({ type, title, showIcon, renderContent, renderRight, containerProps, }: AlertProps): JSX.Element;
declare namespace Alert {
    var BodyText: import("styled-components").StyledComponent<"span", DefaultTheme, import("../../asorted/Text").TextProps & {
        flexShrink: number;
        variant: string;
        fontWeight: string;
    }, keyof import("../../asorted/Text").TextProps>;
    var UnderlinedText: import("styled-components").StyledComponent<"span", DefaultTheme, import("../../asorted/Text").TextProps & {
        flexShrink: number;
        variant: string;
        fontWeight: string;
    }, keyof import("../../asorted/Text").TextProps>;
}
export default Alert;
