import { FC } from 'react';
import { NotificationPositions, NotificationSizes } from '../types';
import { ColorsKeys } from '../../../types/emotion';
import { AlertStyleOverrides, AlertVariants } from './types';
/**
 * @internal
 *
 * Renders a single alert card inside the `<Alert>` portal container.
 * This component is **not part of the public API** — consumers should call
 * `showAlert(params)` to trigger alerts and configure appearance via the
 * `<Alert>` component's props (`withShadow`, `withBorder`, `styles`, etc.).
 *
 * Direct use of `AlertItem` is only intended for static previews in Storybook
 * stories or tests where portal/observer overhead is unwanted.
 *
 * Layout modes:
 * - **Expanded** — when `description` is provided: title + description + action row + close button in header
 * - **Collapsed** — no description: title + action row + close button all on one line
 *
 * Action buttons are **opt-in**: a button only renders when its label text
 * AND its callback are both present (`cancelText + onClose`, `submitText + onSubmit`).
 */
export interface AlertItemProps {
    id: string;
    variant: AlertVariants;
    /**
     * Solid background color. When provided, the variant tokens are ignored and
     * text/icon/border colors are auto-derived for contrast via `colorUtils`.
     * Accepts a theme color key or any CSS color string.
     */
    color?: ColorsKeys | string;
    title?: string;
    description?: string;
    cancelText: string;
    submitText: string;
    size: NotificationSizes;
    withShadow?: boolean;
    withBorder?: boolean;
    /** Ignored when `color` is set — color fully drives all derived colors. */
    inheritMainColor?: boolean;
    animationDuration: number;
    position: NotificationPositions;
    onClose?: () => void;
    onSubmit?: () => void;
    onRemove: (id: string) => void;
    styleOverrides?: AlertStyleOverrides;
}
export declare const AlertItem: FC<AlertItemProps>;
