import { ReactElement } from 'react'; import { TChildrenRendererProps, TNodeChildrenRendererProps } from './shared-types'; /** * A hook especially useful when one need to tamper with children in a custom * renderer. Should be used with {@link TChildrenRenderer}. * * @example * For example, a custom renderer which inserts ads in an article: * * ```tsx * function ArticleRenderer(props) { * const { tnode, TDefaultRenderer, ...defaultRendererProps } = props; * const tchildrenProps = useTNodeChildrenProps(props); * const firstChildrenChunk = tnode.children.slice(0, 2); * const secondChildrenChunk = tnode.children.slice(2, 4); * const thirdChildrenChunk = tnode.children.slice(4, 5); * return ( * * * {firstChildrenChunk.length === 2 ? : null} * * {secondChildrenChunk.length === 2 ? : null} * * * ); * }; * ``` */ export declare function useTNodeChildrenProps({ tnode, propsForChildren, disableMarginCollapsing, renderChild }: TNodeChildrenRendererProps): TChildrenRendererProps; /** * A component to render all children of a {@link TNode}. */ declare function TNodeChildrenRenderer(props: TNodeChildrenRendererProps): ReactElement; declare namespace TNodeChildrenRenderer { var defaultProps: Pick; } export default TNodeChildrenRenderer; //# sourceMappingURL=TNodeChildrenRenderer.d.ts.map