import { type HTMLAttributes, type ReactNode } from 'react';
import { type VariantProps } from 'class-variance-authority';
import { type AlertProps } from '../alert/alert';
export interface WarningStackItem {
id: string;
variant?: AlertProps['variant'];
title: ReactNode;
description?: ReactNode;
icon?: ReactNode;
actions?: ReactNode;
dismissible?: boolean;
}
declare const stackVariants: (props?: ({
stretch?: boolean | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export interface WarningStackProps extends Omit, 'children' | 'role' | 'title'>, VariantProps {
/** Items rendered inside the stack. */
items: WarningStackItem[];
/** Fill the parent layout cell — use in a dashboard grid row so the
* stack ends up with matching height to sibling Cards. */
stretch?: boolean;
/** Visible title rendered as an `` above the stack. Also labels the
* region for assistive tech. When omitted, the region is labelled via a
* visually hidden heading using `ariaLabel` (or the default "Warnings"). */
title?: ReactNode;
/** Optional short description rendered under the title. */
description?: ReactNode;
/** Cap on visible items before a "Show N more" toggle appears. Defaults to
* `2`; pass a larger number (or `Infinity`) to show more before collapsing. */
maxVisible?: number;
/** Whether the stack starts collapsed when items exceed `maxVisible`. */
defaultCollapsed?: boolean;
/** Fires when a dismissible item's close control is activated. */
onDismiss?: (item: WarningStackItem) => void;
/** Whether the whole-stack close control is shown at the header's inline-end.
* Defaults to `true` — the tray is closable. Set `false` for stacks that
* carry notices which must not be bulk-cleared (e.g. hard compliance blocks). */
closable?: boolean;
/** Fires when the whole-stack close control is activated, after every
* currently-visible notice has been dismissed (folding the region away).
* Optional — the fold happens internally regardless; supply this only to
* mirror the bulk dismissal into the consumer's own store. */
onDismissAll?: () => void;
/** Accessible label for the whole-stack close control. Defaults to the
* localised "Dismiss all notices". */
dismissAllLabel?: string;
/** Accessible label for the region when `title` is not set. */
ariaLabel?: string;
/** Optional node rendered when the stack has zero items. */
emptyState?: ReactNode;
}
export declare const WarningStack: import("react").ForwardRefExoticComponent>;
export {};
//# sourceMappingURL=warning-stack.d.ts.map