///
import { IBox, IconName } from "../../core/types";
import { IRow } from '../Row/types';
/**
* The possible statuses that the Alert component can display.
* - `success`: Indicates a successful operation or state.
* - `warning`: Signals a warning or cautionary message.
* - `error`: Represents an error state or failure.
* - `info`: Provides informational messages.
*/
export declare type Status = 'success' | 'warning' | 'error' | 'info';
/**
* Props for the Alert component, which is used to display contextual messages.
*/
export interface AlertProps extends Omit {
/**
* The main title of the alert, displayed prominently at the top.
* It can be a string or a custom React node to allow more flexibility in styling.
*/
title: string | React.ReactNode;
/**
* A short, optional description providing additional context for the alert.
* If provided, it appears under the title. Like the title, it can be a string or a React node.
*/
description?: string | React.ReactNode;
/**
* The status of the alert, determining the visual styling and icon used.
* Can be one of the following: 'success', 'warning', 'error', or 'info'.
* If not provided, defaults to 'info'.
*/
status?: Status;
/**
* Callback triggered when the user closes the alert.
* Useful for dismissible alerts. The close button will not appear if this prop is not provided.
*/
onClose?: () => void;
/**
* Custom actions or buttons to render inside the alert.
* Typically used for interactive elements like links or buttons, positioned below the title and description.
*/
actions?: React.ReactElement;
/**
* Specifies the left margin of the icon, adjusting its distance from the left side of the alert.
* This is useful if the icon needs more space for layout reasons.
* @default 1 ('4px')
*/
iconPadding?: number;
/**
* Custom actions rendered at the flex-end (right side in LTR or left in RTL) of the alert.
* Useful for positioning actions at the opposite end of the title and description, such as secondary actions.
*/
actionsEnd?: React.ReactElement;
/**
* Specify custom Icon from our design system. must be a string matching the icon name.
*/
icon?: IconName;
}
/**
* The interface for the Alert component, combining both the Alert-specific props
* and the standard Box props from Chakra UI.
*
* This allows for full customization of the Alert’s container while maintaining core functionalities.
*/
export interface IAlert extends AlertProps, Omit {
}