import { type EventEmitter } from '../../stencil-public-runtime';
import type { InlineNotificationState } from './types';
import type { Theme } from '../../utils/styles';
/**
* @component diwa-inline-notification
*
* A static inline banner that communicates contextual feedback.
* Supports four semantic states — info, success, warning, error — each with
* a distinct colour treatment and Lucide status icon.
*
* Accessibility:
* - state="error" uses role="alert" (assertive live region)
* - All other states use role="status" (polite live region)
* - The icon is aria-hidden — semantic meaning is carried by the text
* - The dismiss button has an accessible label via label + hideLabel
*
* Usage:
*
*
* @slot default — Fallback description content when the description prop is empty.
*/
export declare class DiwaInlineNotification {
/** Per-component theme override (`light` / `dark`). */
theme: Theme;
/**
* Semantic state — governs colour treatment, icon, and ARIA live role.
* - `info` — neutral informational (role="status", polite)
* - `success` — positive confirmation (role="status", polite)
* - `warning` — non-blocking caution (role="status", polite)
* - `error` — critical or blocking (role="alert", assertive)
*/
state: InlineNotificationState;
/** Bold heading text rendered above the description. */
heading: string;
/**
* Description text.
* When empty, the default slot is rendered instead — allowing rich markup.
*/
description: string;
/**
* Whether to show the dismiss (×) button.
* When `false`, the notification can only be removed programmatically.
*/
dismissButton: boolean;
/**
* Optional label for a secondary action button rendered beside the dismiss button.
* When set, a diwa-button-pure with an arrow icon emits the `action` event on click.
*/
actionLabel?: string;
/**
* Shows a loading indicator on the action button and blocks its interaction.
* Has no effect when `actionLabel` is not set.
*/
actionLoading: boolean;
/**
* Emitted when the dismiss (×) button is clicked.
* The consumer is responsible for removing or hiding the notification in response.
*/
dismiss: EventEmitter;
/**
* Emitted when the action button is clicked.
* Only fired when `actionLabel` is set and the button is not in a loading state.
*/
action: EventEmitter;
private handleDismiss;
private handleAction;
render(): any;
}
//# sourceMappingURL=diwa-inline-notification.d.ts.map