import { ThemeInterface } from '@bigcommerce/big-design-theme';
import React, { ComponentPropsWithoutRef } from 'react';
import { ButtonProps } from '../components/Button';
import { LinkProps } from '../components/Link';
import { MarginProps } from '../helpers/margins';
export interface SharedMessagingProps extends ComponentPropsWithoutRef<'div'> {
    actions?: MessageAction[];
    header?: string;
    messages: MessageItem[];
    type?: MessagingType;
    onClose?(): void;
}
export type MessagingType = 'success' | 'error' | 'warning' | 'info';
export interface MessageItem {
    text: string;
    link?: MessageLinkItem;
}
export type MessageLinkItem = Pick<LinkProps, 'external' | 'href' | 'target'> & {
    text: string;
};
export interface MessageAction extends Omit<ButtonProps, 'children' | 'mobileWidth' | 'variant' | keyof MarginProps> {
    text: string;
    variant?: Exclude<ButtonProps['variant'], 'primary'>;
}
export declare const getMessagingIcon: (type: MessagingType, condensed?: boolean) => React.JSX.Element;
export declare const getBorderStyle: (type: MessagingType, theme: ThemeInterface) => import("styled-components").FlattenSimpleInterpolation;
export declare const getActionVariant: (variant: ButtonProps["variant"]) => "secondary" | "subtle" | "utility" | undefined;
//# sourceMappingURL=messagingHelpers.d.ts.map