import type { Generic } from 'adopted-style-sheets'; import type { AlertTypePropType, LabelPropType } from '../props'; type ToastStatus = 'adding' | 'removing' | 'settled'; export type ToastRenderFunction = (nodeRef: HTMLElement, options: { close: () => void; }) => void; export type Toast = { description?: string; render?: ToastRenderFunction; label: LabelPropType; type: AlertTypePropType; variant?: 'card'; onClose?: () => void; }; export type ToastState = { toast: Toast; status: ToastStatus; id: string; }; export type ToasterOptions = { defaultVariant: 'card'; }; type RequiredProps = NonNullable; type OptionalProps = NonNullable; type RequiredStates = RequiredProps & { toastStates: ToastState[]; }; type OptionalStates = OptionalProps; export type ToasterProps = Generic.Element.Members; export type ToasterStates = Generic.Element.Members; export type ToasterAPI = Generic.Element.ComponentApi; export {};