import { Sentiment, Size, Variant } from '../common';
export type AlertAction = {
    'aria-label'?: string;
    href?: string;
    target?: string;
    text: React.ReactNode;
    onClick?: () => void;
};
/** @deprecated Use `"top" | "bottom"` instead. */
type AlertTypeDeprecated = `${Sentiment.SUCCESS | Sentiment.INFO | Sentiment.ERROR}`;
type AlertTypeResolved = `${Sentiment.POSITIVE | Sentiment.NEUTRAL | Sentiment.WARNING | Sentiment.NEGATIVE}`;
export type AlertType = AlertTypeResolved | AlertTypeDeprecated;
export declare enum AlertArrowPosition {
    TOP_LEFT = "up-left",
    TOP = "up-center",
    TOP_RIGHT = "up-right",
    BOTTOM_LEFT = "down-left",
    BOTTOM = "down-center",
    BOTTOM_RIGHT = "down-right"
}
export interface AlertProps {
    /** An optional call to action to sit under the main body of the alert. If your label is short, use aria-label to provide more context */
    action?: AlertAction;
    className?: string;
    /** An optional icon. If not provided, we will default the icon to something appropriate for the type */
    icon?: React.ReactNode;
    /**
     * Override for [StatusIcon's default, accessible name](/?path=/docs/other-statusicon-accessibility--docs)
     * announced by the screen readers
     * */
    statusIconLabel?: string;
    /** Title for the alert component */
    title?: string;
    /** The main body of the alert. Accepts plain text and bold words specified with **double stars */
    message?: string;
    /** The presence of the onDismiss handler will trigger the visibility of the close button */
    onDismiss?: React.MouseEventHandler<HTMLButtonElement>;
    /** The type dictates which icon and colour will be used */
    type?: AlertType;
    variant?: `${Variant}`;
    /** @deprecated Safe to remove */
    active?: boolean;
    /** @deprecated Safe to remove */
    dynamicRender?: boolean;
    /** @deprecated Use `InlineAlert` instead. */
    arrow?: `${AlertArrowPosition}`;
    /** @deprecated Use `message` instead. Be aware `message` only accepts plain text or text with **bold** markdown. */
    children?: React.ReactNode;
    /** @deprecated Use `onDismiss` instead. */
    dismissible?: boolean;
    /** @deprecated Alert component doesn't support `size` anymore, please remove this prop. */
    size?: `${Size}`;
}
export default function Alert({ action, className, icon, statusIconLabel, onDismiss, message, title, type, variant, arrow, children, size, dismissible, active, dynamicRender, }: AlertProps): import("react").JSX.Element;
export {};
//# sourceMappingURL=Alert.d.ts.map