'use client';
import * as react from 'react';
import { ComponentType, ReactElement, ForwardedRef, ReactNode, JSX } from 'react';
import { M as MillionProps, O as Options, c as MillionArrayProps } from '../shared/million.50256fe7.js';
declare const block:
(Component: ComponentType
, options?: Options
) => ComponentType
;
declare function For({ each, children, ssr, svg }: MillionArrayProps): ReactElement<{
suppressHydrationWarning: boolean;
}, string | react.JSXElementConstructor> | react.CElement<{
each: T[];
children: (value: T, i: number) => globalThis.JSX.Element;
ssr: boolean | undefined;
svg: boolean | undefined;
}, react.Component<{
each: T[];
children: (value: T, i: number) => globalThis.JSX.Element;
ssr: boolean | undefined;
svg: boolean | undefined;
}, any, any>> | null;
declare const importSource: (callback: () => void) => void;
declare const createSSRBoundary: (Component: ComponentType
, props: P, ref: ForwardedRef, noSlot: boolean, id: string, svg?: boolean) => ReactElement> | react.FunctionComponentElement<{
children?: ReactNode;
}>;
declare const createRSCBoundary: (Component: ComponentType
, noSlot: boolean, svg?: boolean) => react.MemoExoticComponent & react.RefAttributes>>;
interface CompiledBlockOptions extends Omit, 'shouldUpdate'> {
portals?: string[];
}
declare function compiledBlock(render: (props: MillionProps) => JSX.Element, { portals, ...options }: CompiledBlockOptions): ComponentType;
export { For, block, compiledBlock, createRSCBoundary, createSSRBoundary, importSource };