import type { FunctionComponent } from './FunctionComponent.js'; import type { RouteParams } from './routing/RouteParams.type.js'; import type { RouteData } from './routing/RouteData.js'; import { TungstenBaseComponentType, TungstenBaseComponent, TungstenComponentPropsBase, TungstenComponentStateConstraint, TungstenComponentStoreConstraint } from './Components.jsx'; import { $ContentNull } from './symbols.js'; import { KeyAttr, KeyAttrValid } from './KeyAttr.js'; import { $type, $props, $routeParams, $routeData, $key } from './contentNodeSymbols.js'; import { TungstenRef } from './createRef.js'; export type ContentNodeType = string | typeof TungstenBaseComponent | FunctionComponent; export type NodeValue = string | number | boolean | null | undefined; export type NodeProps = { children?: ContentNode; value?: NodeValue; ref?: TungstenRef; [key: string]: unknown; }; export type ContentNodeHtml = { [$type]: string; [$props]: NodeProps; [$key]?: KeyAttr; }; export type ContentNodeFunction = (...args: any[]) => ContentNode; export type ContentNodeComponent = ContentNodeClassComponent | ContentNodeFunctionComponent; export type ContentNodeComponentAny = ContentNodeClassComponentAny | ContentNodeFunctionComponentAny; export type ContentNodeClassComponent = { [$type]: TungstenBaseComponentType; [$props]: NodeProps; [$key]?: KeyAttr; [$routeParams]?: RouteParams; [$routeData]?: RouteData; }; export type ContentNodeClassComponentAny = ContentNodeClassComponent; export type ContentNodeFunctionComponent = { [$type]: FunctionComponent; [$props]: NodeProps; [$key]?: KeyAttr; [$routeParams]?: RouteParams; [$routeData]?: RouteData; }; export type ContentNodeFunctionComponentAny = ContentNodeFunctionComponent; export type ContentNodeElement = ContentNodeHtml | ContentNodeComponentAny; export type ContentNodeElementWithChildrenArray = ContentNodeElement & { [$props]: { children: ContentNodeArray; }; }; export type ContentNodeLiteral = string | number; export type ContentNodeNonRendered = null | undefined | boolean; export type ContentNodeRendered = ContentNodeElement | ContentNodeLiteral; export type ContentNodeSingle = ContentNodeElement | ContentNodeLiteral | ContentNodeNonRendered; export type ContentNodeArray = ContentNode[]; export type ContentNode = ContentNodeSingle | ContentNodeArray; export type WideContentNode = ContentNode | $ContentNull; export declare function ContentNodeIsArray(item: ContentNode): item is ContentNodeArray; export declare function WideContentNodeIsArray(item: WideContentNode): item is (ContentNodeArray); export declare function ContentNodeIsSingle(item: ContentNode): item is ContentNodeSingle; export declare function ContentNodeIsNonRendered(contentNode: ContentNode): contentNode is ContentNodeNonRendered; export declare function WideContentNodeIsNoContentOrNonRendered(contentNode: WideContentNode): contentNode is $ContentNull | ContentNodeNonRendered; export declare function ContentNodeIsRendered(contentNode: ContentNode): contentNode is ContentNodeRendered; export declare function ContentNodeIsElement(item: ContentNode): item is ContentNodeElement; export declare function ContentNodeIsHtml(contentNode: ContentNode): contentNode is ContentNodeHtml; export declare function ContentNodeSingleIsElement(item: ContentNodeSingle): item is ContentNodeElement; export declare function ContentNodeElementIsHtml(contentNodeElement: ContentNodeElement): contentNodeElement is ContentNodeHtml; export declare function ContentNodeIsComponent(contentNode: ContentNode): contentNode is ContentNodeComponent; export declare function ContentNodeElementIsComponent(item: ContentNodeElement): item is ContentNodeClassComponent | ContentNodeFunctionComponent; export declare function ContentNodeComponentIsClassComponent(contentNodeComponent: ContentNodeComponent): contentNodeComponent is ContentNodeClassComponent; export declare function ContentNodeIsClassComponent(contentNode: ContentNode): contentNode is ContentNodeClassComponent; export declare function ContentNodeComponentIsFunctionComponent(contentNodeComponent: ContentNodeComponent): contentNodeComponent is ContentNodeClassComponent; export declare function ContentNodeIsFunctionComponent(contentNode: ContentNode): contentNode is ContentNodeClassComponent; export declare function ContentNodeIsString(contentNode: ContentNode): contentNode is string; export declare function ContentNodeIsNumber(contentNode: ContentNode): contentNode is number; export declare function ContentNodeIsLiteral(contentNode: ContentNode): contentNode is ContentNodeLiteral; export declare function ContentNodeElementHasValidKey(element: ContentNodeElement): element is ContentNodeElement & { [$key]: KeyAttrValid; }; //# sourceMappingURL=ContentNode.d.ts.map