import { RoSGNode } from ".."; export declare enum BrsNodeType { Node = "Node", Group = "Group", LayoutGroup = "LayoutGroup", Rectangle = "Rectangle", Label = "Label", Font = "Font", Poster = "Poster", ArrayGrid = "ArrayGrid", MarkupGrid = "MarkupGrid", ContentNode = "ContentNode", Timer = "Timer", Scene = "Scene", MiniKeyboard = "MiniKeyboard", TextEditBox = "TextEditBox" } export declare class NodeFactory { private static additionalNodes; /** * Adds additional node/component types to the factory, so other software can extend brs if necessary. * This would allow other software using this to add other node/component types at runtime * For example, adding custom implementations of the built-in types, or * adding additional types (PinPad, BusySpinner, etc) that aren't here yet * * @static * @param types Array of pairs of [nodeTypeName, construction function], such that when a given nodeType is requested, the construction function is called and returns one of those components */ static addNodeTypes(types: [string, (name: string) => RoSGNode][]): void; static createNode(nodeType: BrsNodeType | string, nodeName?: string): RoSGNode | undefined; /** * Checks to see if the given node type can be resolved by the Factory * That is, if it is a built in type or has been added at run time. * * @static * @param nodeType The name of node to resolve * @returns {boolean} true if that type is resolvable/constructable, false otherwise */ static canResolveComponentType(nodeType: BrsNodeType | string): boolean; }