import { type HTMLAttributes, type ReactNode } from 'react'; export interface NoticeGroupHandle { /** What the group shows now: counts and flags only. */ getState: () => { /** Notes that fold (not errors or progress), still shown. */ noteCount: number; /** True while the notes sit behind the summary row (two or more). */ grouped: boolean; /** Whether the summary row is open (expanded). */ open: boolean; }; /** * Open or fold the notes. False when there is no summary row. With a * controlled `open`, this asks the host through `onOpenChange`. */ setOpen: (open: boolean) => boolean; } export interface NoticeGroupProps extends Omit, 'children'> { /** * `Alert` and `ProgressNotice` elements, passed directly (fragments are * fine). Give each a `key`. Anything else shows as given, outside the * fold. */ children: ReactNode; /** * The summary row's text, for example "3 notes about these figures". * A function receives the count of notes (and of warnings among them), * so your own translation can pluralise it. Defaults to the kit's * "{{count}} notes". When warnings are folded, the row also says how * many ("1 warning"), whatever the summary. */ summary?: string | ((count: number, warnings: number) => string); /** Controlled: whether the summary row is open, showing every note. */ open?: boolean; /** Uncontrolled initial state. Defaults to folded. */ defaultOpen?: boolean; /** Fires when the summary row opens or folds. */ onOpenChange?: (open: boolean) => void; /** Opaque instance id, emitted as `data-component-id` for agents. */ id?: string; } export declare const NoticeGroup: import("react").ForwardRefExoticComponent>; //# sourceMappingURL=notice-group.d.ts.map