import React from 'react';
export declare type AlertHeadingLevel = '1' | '2' | '3' | '4' | '5' | '6';
export declare type AlertRole = 'alert' | 'alertdialog' | 'region' | 'status';
export declare type AlertVariation = 'error' | 'warn' | 'success';
export declare type AlertWeight = 'lightweight';
export interface AlertProps {
    /**
     * Access a reference to the `alert` `div` element
     */
    alertRef?: (...args: any[]) => any;
    /**
     * Analytics events tracking is enabled by default. Set this value to `false` to disable tracking for this component instance.
     */
    analytics?: boolean;
    /**
     * An override for the dynamic content sent to analytics services. By default this content comes from the heading.
     *
     * In cases where this component’s heading may contain **sensitive information**, use this prop to override what is sent to analytics.
     */
    analyticsLabelOverride?: string;
    /**
     * Sets the focus on Alert during the first mount
     */
    autoFocus?: boolean;
    /**
     * The alert's body content
     */
    children?: React.ReactNode;
    className?: string;
    /**
     * Text for the alert heading
     */
    heading?: string;
    /**
     * Optional id used to link the `aria-labelledby` attribute to the heading. If not provided, a unique id will be automatically generated and used.
     */
    headingId?: string;
    /**
     * Heading type to override default `<h2>`.
     */
    headingLevel?: AlertHeadingLevel;
    /**
     * Boolean to hide the `Alert` icon
     */
    hideIcon?: boolean;
    /**
     * ARIA `role`, defaults to 'region'
     */
    role?: AlertRole;
    /**
     * A string corresponding to the `Alert` weight classes (`lightweight`)
     */
    weight?: AlertWeight;
    /**
     * A string corresponding to the `Alert` variation classes (`error`, `warn`, `success`)
     */
    variation?: AlertVariation;
    [key: string]: any;
}
declare type OmitAlertProps = 'role' | 'children' | 'className' | 'ref';
export declare class Alert extends React.PureComponent<Omit<React.ComponentPropsWithRef<'div'>, OmitAlertProps> & AlertProps, any> {
    static defaultProps: {
        role: string;
        headingLevel: string;
    };
    alertTextRef: any;
    focusRef: any;
    headingId: string;
    a11yLabelId: string;
    eventHeadingText: string;
    constructor(props: AlertProps);
    componentDidMount(): void;
    heading(): React.ReactElement | void;
    getIcon(): React.ReactElement | null;
    render(): JSX.Element;
}
export default Alert;
