import { CreateNodeResult, Source } from "./source"; import { SourceReference } from "./source-reference"; import { VNode } from "./vnode"; import { TokenRequiredOptions, TokenResolvedOptions, TokenVNodeFn } from "./token"; export declare const Child: unique symbol; export interface CreateNodeFn { , T extends TokenVNodeFn>(source: T): T & TokenVNodeFn; , T extends TokenVNodeFn, PassedOptions extends TokenRequiredOptions>(source: T, options: PassedOptions, ...children: unknown[]): T & TokenVNodeFn>; | object, C extends unknown[]>(source: T, options: O, ...children: C): CreateNodeResult; | object>(source: T, options: O): CreateNodeResult; (source: T): CreateNodeResult; (source: Source, options?: Record | object, ...children: unknown[]): VNode; (source?: unknown, options?: Record | object, ...children: unknown[]): VNode; } /** * Generates instances of {@link FragmentVNode} based on the provided source * * See {@link Source} for an explanation on each type and how they are represented as a {@link VNode} * * The provided {@link VContext} may override this functionality, possibly resulting in a {@link NativeVNode} * * The special case to point out here is if the source is an `IterableIterator` (see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#Is_a_generator_object_an_iterator_or_an_iterable}) * then each iteration will result in a new {@link VNode} being created */ export declare function createNode, T extends TokenVNodeFn>(source: T): T & TokenVNodeFn; export declare function createNode, T extends TokenVNodeFn, PassedOptions extends TokenRequiredOptions>(source: T, options: PassedOptions, ...children: unknown[]): T & TokenVNodeFn>; export declare function createNode | object, C extends unknown[]>(source: T, options: O, ...children: C): CreateNodeResult; export declare function createNode | object>(source: T, options: O): CreateNodeResult; export declare function createNode(source: T): CreateNodeResult; export declare function createNode(source: Source, options?: Record | object, ...children: unknown[]): VNode; export declare function createNode(source?: unknown, options?: Record | object, ...children: unknown[]): VNode; //# sourceMappingURL=create-node.d.ts.map