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 {};