export function isClass(obj: any): boolean; export function isClassComponent(component: any): boolean; export function isFunctionComponent(component: any): boolean; export function isComponent(component: any): boolean; export function isElement(element: any): boolean; export function isFragment(element: any): boolean; export function childIterator(children: Children, all?: boolean): any; export function childDescender(children: Children, shouldDescend?: boolean | shouldDescendPredicate): any; export function flattenChildren(children: Children, shouldDescend?: boolean | shouldDescendPredicate): Array; export namespace flattenChildren { export { Primitive }; } export function filterChildren(children: Children, predicate: (child: Child, index: number, children: Children) => boolean, all?: boolean): (string | number | import("react").ReactElement> | Iterable | import("react").ReactPortal)[]; export function cloneChildren(children: Children, predicate: object | ((child: Child, index: number, children: Children) => Child)): (string | number | import("react").ReactElement> | Iterable | import("react").ReactPortal)[]; export const Primitive: unique symbol; export type Children = Parameters[0]; export type ChildArray = ReturnType; export type Child = (string | number | import("react").ReactElement> | Iterable | import("react").ReactPortal)[][0]; export type ReactElement = import('react').ReactElement; export type shouldDescendPredicate = (child: Child, validElement: boolean) => undefined | -1 | 0 | 1 | boolean; export type FlattenedChild = { key: string; ref: import('react').Ref; type: import('react').JSXElementConstructor; props: { [key: string]: any; }; }; import { Children } from 'react';