import { VNode, VNodeRepresentationSource } from "./vnode"; import { UnionInput, UnionOptions } from "@virtualstate/union"; import type { CreateNodeFn } from "./create-node"; import { ChildrenSource, ChildrenSourceFunction } from "./source"; export interface VNodeChildren extends AsyncIterable { /** * @experimental */ [Symbol.iterator]?(): Iterator; /** * @experimental */ [ChildrenSource]?: Iterable; /** * @experimental */ [ChildrenSourceFunction]?(): AsyncIterable; /** * @experimental */ [ChildrenOptions]?: ChildrenTransformOptions; /** * @experimental */ then?: PromiseLike["then"]; } export interface ProxyNodeFn { (input: T): T | undefined; (input: VNode): VNode | undefined; } /** * @experimental */ export interface ChildrenTransformOptions extends UnionOptions { createNode: CreateNodeFn; /** * Allows replacement of children node instances * * Warning, usage can break expected types, source, options, and children structures * in typed contexts expect to be the same when returned. */ proxyNode?: ProxyNodeFn; } /** * @experimental */ export declare const ChildrenOptions: unique symbol; export declare function childrenUnion(context: UnionOptions, childrenGroups: UnionInput): AsyncIterable; export declare function children(givenContext: ChildrenTransformOptions, ...source: VNodeRepresentationSource[]): AsyncIterable; /** * @internal * @experimental */ export declare function flattenChildrenSourceRepresentation(source: Iterable): Iterable; /** * @experimental */ export declare function flattenChildrenSource(context: ChildrenTransformOptions, source: Iterable): Iterable; /** * @experimental */ export declare function isChildrenOptions(node: unknown): node is { [ChildrenOptions]: ChildrenTransformOptions; }; //# sourceMappingURL=children.d.ts.map