import { XmlDocument } from "xmldoc"; import { Environment } from "../interpreter/Environment"; interface FieldAttributes { id: string; type: string; alias?: string; value?: string; onChange?: string; alwaysNotify?: string; } interface ComponentFields { [key: string]: FieldAttributes; } interface FunctionAttributes { name: string; } interface ComponentFunctions { [key: string]: FunctionAttributes; } interface NodeField { [id: string]: string; } export interface ComponentNode { name: string; fields: NodeField; children: ComponentNode[]; } export interface ComponentScript { type: string; uri?: string; xmlPath?: string; content?: string; } export declare class ComponentDefinition { readonly xmlPath: string; contents?: string; xmlNode?: XmlDocument; name?: string; processed: boolean; fields: ComponentFields; functions: ComponentFunctions; children: ComponentNode[]; scripts: ComponentScript[]; environment: Environment | undefined; constructor(xmlPath: string); parse(): Promise; get extends(): string; } export declare function getComponentDefinitionMap(rootDir?: string, additionalDirs?: string[], libraryName?: string): Promise>; export {};