
import { ProgressToastEmpty, ProgressToastOptions, ToastApi, ToastData, ToastType } from "./types.js";
import { ToastProvider, useToastContext } from "./ToastProvider.js";
import { ToastItem, ToastItemProps } from "./ToastItem.js";
import { getThemeIcon, useToast } from "./useToast.js";
import { useProgressToast } from "./useProgressToast.js";
import { ReactNode } from "react";

//#region src/components/overlays/Toast/index.d.ts
interface ToastProps extends Omit<ToastData, 'duration'> {
  /** Primary content */
  children?: ReactNode;
}
/**
 * Declarative Toast component that shows a toast while mounted.
 *
 * @example
 * ```tsx
 * // Simple toast (visible while mounted)
 * <Toast theme="success">Saved successfully</Toast>
 *
 * // With description
 * <Toast title="Success" description="Changes saved" theme="success" />
 * ```
 */
declare function Toast(props: ToastProps): null;
declare namespace Toast {
  var Progress: typeof ToastProgress;
}
interface ToastProgressProps extends ProgressToastOptions {
  /** Primary content (alternative to title) */
  children?: ReactNode;
}
/**
 * Declarative Progress Toast component.
 *
 * @example
 * ```tsx
 * <Toast.Progress
 *   {...(isLoading
 *     ? { isLoading: true, title: 'Saving...' }
 *     : { isLoading: false, title: 'Saved!', theme: 'success' }
 *   )}
 * />
 * ```
 */
declare function ToastProgress(props: ToastProgressProps): null;
type ToastComponent = typeof Toast & {
  Progress: typeof ToastProgress;
};
//#endregion
export { Toast, ToastComponent, ToastProgressProps, ToastProps };
//# sourceMappingURL=index.d.ts.map