import React, { ComponentPropsWithoutRef } from 'react';
export type LiveLoadingOverlayProps = ComponentPropsWithoutRef<'div'> & {
    /** spinner leaf color; defaults to white (readable on the default black overlay) */
    spinnerColor?: string;
    /** overall spinner box size in px; ~20px matches Radix UI's <Spinner size="3"> */
    spinnerSize?: number;
    /** replaces the default overlay markup. Still subject to the same visibility
     * gate below, so a custom loader cannot get stuck on screen. */
    render?: () => React.ReactNode;
};
/**
 * Full-page overlay shown until the current code produces its first real
 * (non-null) render. Stays hidden forever after that first success, even if
 * a later code edit briefly errors — it covers the initial load only, not
 * every keystroke in the editor.
 *
 * Never shown when: empty code (same "no code given" check as
 * generateElement), or an error is present (a resolved outcome — the error
 * needs to be readable, not covered by a spinner).
 *
 * Visually matches Radix UI's <Spinner> (used as rx.spinner() in the Reflex
 * consumer apps): 8 bars radiating from center, rotated 45deg apart, each
 * fading out in sequence.
 */
export declare const LiveLoadingOverlay: ({ style, spinnerColor, spinnerSize, render, ...rest }: LiveLoadingOverlayProps) => React.JSX.Element | null;
