import { type HTMLAttributes } from 'react'; export interface ProgressNoticeItem { /** Stable key. */ id: string; /** What is being prepared, for example a practice's name. Translated. */ name: string; /** * One line on where it stands, for example "Money ready, statistics 6 * of 24 months". Translated. */ status?: string; /** True once this item is ready. */ ready: boolean; } export interface ProgressNoticeHandle { /** What the notice shows now: counts and flags, no item names. */ getState: () => { value: number; max: number; complete: boolean; readyCount: number; itemCount: number; detailsOpen: boolean; }; /** Open or close the details list. False when there is no list. */ setDetailsOpen: (open: boolean) => boolean; } export interface ProgressNoticeProps extends Omit, 'title' | 'role' | 'children'> { /** Heading, for example "Preparing your figures". Translated. */ title: string; /** * Heading level of the title. Set it one below the heading that * introduces the page or board. Unset, it is Alert's default (h5). */ headingLevel?: 2 | 3 | 4 | 5 | 6; /** Progress so far, in the units of `max`. */ value: number; /** The value at which the import is done. Defaults to 100. */ max?: number; /** * One line under the title, for example "2 of 4 practices ready". * Translated. Also the progress bar's value text. */ summary?: string; /** One row each in the expandable details list. Omit for no list. */ items?: ProgressNoticeItem[]; /** Controlled: whether the details list is open. */ detailsOpen?: boolean; /** Uncontrolled: whether the details list starts open. Defaults to false. */ defaultDetailsOpen?: boolean; /** Fires when the details list opens or closes. */ onDetailsOpenChange?: (open: boolean) => void; /** Controlled visibility. Defaults to shown. */ open?: boolean; /** Fires when the user dismisses the notice (`dismissible`). */ onOpenChange?: (open: boolean) => void; /** Shows the close button. Defaults to true when `dismissKey` is set. */ dismissible?: boolean; /** * Remember a dismissal in this browser, as on Alert: the notice stays * hidden for this key, and a new key shows it again. Put the import in * the key (for example its id). Never personal or patient data. */ dismissKey?: string; /** How long a `dismissKey` dismissal lasts, in ms (default 30 days). */ dismissLifetimeMs?: number; /** * Fires once each time the import becomes complete: every item is * ready, or `value` reaches `max`. Also on mount when it already is. */ onComplete?: () => void; /** * Announced when the import completes. Translated. Defaults to the * kit's "Everything is ready." */ completeAnnouncement?: string; /** Opaque instance id, emitted as `data-component-id` for agents. */ id?: string; } export declare const ProgressNotice: import("react").ForwardRefExoticComponent>; //# sourceMappingURL=progress-notice.d.ts.map