import { type ErrorInfo, type ReactNode } from "react";
import { type ThreeSceneAvailability, type ThreeSceneWebGLVersion } from "@ryuzaki13/react-foundation-lib/three-scene";
export type ThreeSceneGuardProps = {
    readonly children: ReactNode;
    readonly fallback: ReactNode;
    readonly disabledStorageKey?: string;
    readonly disableWhenReducedMotion?: boolean;
    readonly webGLVersion?: ThreeSceneWebGLVersion;
    readonly onError?: (error: Error, errorInfo: ErrorInfo) => void;
    readonly onAvailabilityChange?: (availability: ThreeSceneAvailability) => void;
};
export declare function ThreeSceneGuard({ children, fallback, disabledStorageKey, disableWhenReducedMotion, webGLVersion, onError, onAvailabilityChange }: ThreeSceneGuardProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
//# sourceMappingURL=ThreeSceneGuard.d.ts.map