import * as React from 'react';
export { createChildrenSketch } from './children';
export declare function isReactNode(value: unknown): value is React.ReactNode;
export declare function isReactContext2<T>(variable: unknown): variable is React.Context<T>;
export declare const isReactContext: <T>(variable: any) => variable is typeof variable extends T ? T : never;
export type ExtractMeta<T> = T extends React.FC<any> ? Omit<T, keyof React.FC> : never;
export declare const getDisplayName: <C extends React.FC<any> | undefined>(Component: C, prefix?: string) => string;
export declare function copyStaticProperties(base: Record<string, unknown>, target: unknown): void;
export declare const createElement: <C extends React.FC<any> | undefined>(Component: C, mergedProps: C extends React.FC<any> ? React.ComponentProps<C> : Record<never, never>) => import("react/jsx-runtime").JSX.Element | null;
export declare const extractMeta: <C extends React.FC<any>>(Component: C) => ExtractMeta<C>;
export declare const isFunctionalComponent: (fn: (...args: any[]) => any) => boolean;
/**
 * Throws if called outside a React render phase.
 * Use this in runtime-level helpers like `useFn`, `useRun`, etc.
 * Only runs in dev mode and in the browser.
 */
