/**
* @license
* Copyright 2023 Nuraly, Laabidi Aymen
* SPDX-License-Identifier: MIT
*/
import { LitElement, nothing } from 'lit';
import { AlertType } from './alert.types.js';
declare const NrAlertElement_base: (new (...args: any[]) => import("@nuralyui/common/mixins").DependencyAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").ThemeAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").EventHandlerCapable) & (new (...args: any[]) => import("packages/common/src/shared/base-mixin.js").LightDomContent) & typeof LitElement;
/**
* Alert component for displaying important messages.
*
/**
* Provides a flexible alert/banner system with multiple types.
* The alert component is used to display important messages, warnings, and notifications
* Supports different severity levels, optional icons, descriptions, and closable functionality.
*
* @example
* ```html
*
*
*
*
*
*
*
*
*
*
*
* ```
*
* @fires nr-alert-close - Fired when alert is closed
*
* @slot - Default slot for custom content (overrides message/description)
* @slot icon - Custom icon slot
* @slot action - Custom action buttons or links
*
* @csspart alert - The root alert container element
* @csspart icon - The icon wrapper div (visible when show-icon is true)
* @csspart content - The content area holding message, description, and slots
* @csspart message - The message text element
* @csspart description - The description text element
* @csspart close - The close button (visible when closable is true)
*/
export declare class NrAlertElement extends NrAlertElement_base {
static styles: import("lit").CSSResult;
static useShadowDom: boolean;
requiredComponents: string[];
/** Alert message text */
message: string;
/** Alert type/variant */
type: AlertType;
/** Optional description text */
description: string;
/** Whether the alert can be closed */
closable: boolean;
/** Whether to show icon */
showIcon: boolean;
/** Custom icon name */
icon: string;
/** Banner mode - full width with no border radius */
banner: boolean;
/** Internal state: whether alert is visible */
private visible;
/** Internal state: whether alert is closing */
private closing;
/**
* Close the alert
*/
close(): void;
/**
* Handle close button click
*/
private handleCloseClick;
/**
* Get default icon for alert type
*/
private getDefaultIcon;
/**
* Check if alert has description
*/
private hasDescription;
render(): typeof nothing | import("lit-html").TemplateResult<1>;
}
declare global {
interface HTMLElementTagNameMap {
'nr-alert': NrAlertElement;
}
}
export {};
//# sourceMappingURL=alert.component.d.ts.map