import { HTMLAttributes, ReactNode } from 'react';
import type { ReactElement } from 'react';
import { IconNameWithSize } from '@talend/icons/dist/typeUtils';
import { ButtonTertiaryPropsType } from '../../Button/variations/ButtonTertiary';
import type { ButtonIconType } from '../../ButtonIcon/variations/ButtonIcon';
import { DropdownPropsType } from '../../Dropdown';
import { LinkProps } from '../../Link/Link';
type SharedMessageWithActionsPropsType = {
additionalIconAction?: ButtonIconType<'XS'>;
additionalDropdownActions?: never;
};
type SharedMessageWithActionPropsType = {
additionalIconAction?: never;
additionalDropdownActions?: Omit;
};
export type SharedMessageCollectionProps = Omit, 'style' | 'children' | 'className'> & {
action: ButtonTertiaryPropsType<'S'>;
additionalIconAction?: ButtonIconType<'XS'>;
additionalDropdownActions?: Omit;
description: string | ReactElement | string[] | ReactElement[];
title: string;
} & (SharedMessageWithActionPropsType | SharedMessageWithActionsPropsType);
export type SharedMessageProps = Omit, 'style' | 'className'> & {
action?: ButtonTertiaryPropsType<'S'>;
additionalIconAction?: ButtonIconType<'XS'>;
additionalDropdownActions?: Omit;
children?: ReactNode | ReactNode[];
description: string | ReactElement | string[] | ReactElement[];
link?: LinkProps;
title?: string;
titleInfo?: string;
} & (SharedMessageWithActionPropsType | SharedMessageWithActionsPropsType);
export type BaseMessageProps = Omit & SharedMessageProps & {
borderClassname: string;
icon?: IconNameWithSize<'S'>;
};
export declare const MessagePrimitive: import("react").ForwardRefExoticComponent>;
export {};