import { FixedElementProps, LottieInstance } from "../animation/types.cjs";
import { ReactNode } from "react";
//#region src/overlays/LottieLoading.d.ts
/** What this component owns. Every other prop belongs to the element. */
interface LottieLoadingOwnProps {
  /** The animation to watch. Omit it inside a component that publishes one. */
  lottie?: LottieInstance;
  /** What to show while it loads. A turning indicator unless you say otherwise. */
  children?: ReactNode;
  /** Added to the library's class rather than replacing it. */
  className?: string;
  /**
   * How long to wait before appearing, in milliseconds.
   *
   * An animation that arrives sooner is never covered at all, which is what
   * stops a fast load showing an indicator nobody can read. Setting `0` shows
   * it at once.
   */
  showAfter?: number;
}
/** What {@link LottieLoading} accepts. */
type LottieLoadingProps = FixedElementProps<LottieLoadingOwnProps, "div">;
/**
 * What to show while the animation loads.
 *
 * Render it among the children of a component that publishes an animation, or
 * anywhere at all with the result of `useLottie`. It covers the box it sits in
 * while the animation is loading and renders nothing the rest of the time.
 *
 * ```jsx
 * <Lottie src="/hero.json">
 *   <LottieDisplay />
 *   <LottieLoading />
 * </Lottie>
 * ```
 *
 * It takes every attribute of the `div` it renders, and `ref` names that same
 * element. Its own rules are all zero-specificity, so any of them can be
 * replaced one property at a time from your own stylesheet. If your CSS lives
 * in cascade layers, declare `@layer lottie-react;` before your own styles so
 * the library's layer ranks below them.
 */
declare const LottieLoading: import("react").ForwardRefExoticComponent<LottieLoadingOwnProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof LottieLoadingOwnProps> & import("react").RefAttributes<HTMLDivElement>>;
//#endregion
export { LottieLoading, LottieLoadingProps };