/// declare type Callback = (...args: any[]) => void; declare class Configuration { viewSelector: string; componentSelector: string; selector: string; namespacePattern: RegExp; isComponentIndex($el: JQuery): boolean; nodeUnderscoredName($el: JQuery): string; isStandAlone($el: JQuery): boolean; extractStandAloneNodeData($el: JQuery): string[]; extractComponentIndexNodeData($el: JQuery): string[]; } declare interface Data { el: HTMLElement; $el: JQuery; isComponentIndex: boolean; isComponentPart: boolean; isStandAlone: boolean; componentId?: number; componentIndexNode?: NodeData; nodeName: string; componentName: string; namespaceName: string; nodeNameUnderscored: string; componentNameUnderscored: string; namespaceNameUnderscored: string; } declare class DOM { static html($el: JQuery, html: string): void; static append($parentEl: JQuery, $el: JQuery): void; static prepend($parentEl: JQuery, $el: JQuery): void; static before($el: JQuery, $inserterdEl: JQuery): void; static after($el: JQuery, $inserterdEl: JQuery): void; static remove($el: JQuery): void; static htmlAsync($el: JQuery, html: string): Promise; static appendAsync($parentEl: JQuery, $el: JQuery): Promise; static prependAsync($parentEl: JQuery, $el: JQuery): Promise; static beforeAsync($el: JQuery, $inserterdEl: JQuery): Promise; static afterAsync($el: JQuery, $inserterdEl: JQuery): Promise; } declare class Hooks { onInitCallbacks: C[]; onActivationCallbacks: C[]; onUnloadCallbacks: C[]; constructor(); onInit(callback: C): void; init(...args: any[]): void; onActivation(callback: C): void; activate(...args: any[]): void; onUnload(callback: C): void; unload(...args: any[]): void; reset(): void; } declare class Launcher { hooks: Hooks<(nodeData: NodeData) => void>; treeManager: TreeManager; isRefreshEventInitialized: boolean; launch(config: Configuration): void; initRemoveEvent(): void; initRefreshEvent(config: Configuration): void; createViewsTree(): void; } declare class Node_2 { $el: JQuery; hooks: Hooks<(node: Node_2) => void>; el: HTMLElement; id: string; parent?: Node_2; children: Node_2[]; isActivated: boolean; isRemoved: boolean; nodeWrapper?: NodeWrapper; constructor($el: JQuery, hooks?: Hooks<(node: Node_2) => void>); setParent(node: Node_2): void; prependChild(node: Node_2): void; appendChild(node: Node_2): void; removeChild(node: Node_2): void; init(): void; activate(): void; remove(): void; unload(): void; } declare class NodeData implements Data { el: HTMLElement; $el: JQuery; isComponentIndex: boolean; isComponentPart: boolean; isStandAlone: boolean; componentId: number; componentIndexNode?: NodeData; nodeName: string; componentName: string; namespaceName: string; nodeNameUnderscored: string; componentNameUnderscored: string; namespaceNameUnderscored: string; data: Record; constructor(options: Data); setData(name: string, value: any): void; getData(name: string): any; } declare class NodeWrapper { node: Node_2; config: Configuration; hooks: Hooks<(nodeData: NodeData) => void>; $el: JQuery; el: HTMLElement; namespaceName: string; nodeName: string; nodeData: NodeData; isStandAlone: boolean; isComponentIndex: boolean; componentIndexNode?: Node_2; private nodeUnderscoredName; private component; constructor(node: Node_2, config: Configuration, hooks: Hooks<(nodeData: NodeData) => void>); initComponent(): { namespace: string; node: Node_2; id: number; name: string; }; identifyNodeAttributes(): void; initNodeDataObject(): void; initNodeData(): NodeData; unload(): void; private _camelize; } declare class TreeManager { config: Configuration; launcherHooks: Hooks<(nodeData: NodeData) => void>; isInitializing: boolean; initialNodes: Node_2[]; hooks: Hooks<(node: Node_2) => void>; nodesCache: VtreeNodesCache; constructor(config: Configuration, launcherHooks: Hooks<(nodeData: NodeData) => void>); createTree(): void; setInitialNodes(): void; setParentsForInitialNodes(): void; setChildrenForInitialNodes(): void; setParentsForNodes(nodes: Node_2[]): void; setChildrenForNodes(nodes: Node_2[]): void; activateInitialNodes(): void; activateRootNodes(): void; activateNode(node: Node_2): void; removeNode(node: Node_2): void; removeChildNodes(node: Node_2): void; refresh(refreshedNode: Node_2): void; addNodeIdToElData(node: Node_2): void; addRemoveEventHandlerToEl(node: Node_2): void; addNodeWrapper(node: Node_2): void; unloadNode(node: Node_2): void; deleteNodeWrapper(node: Node_2): void; } declare class Vtree { static _launcher: Launcher; static _config: Configuration; static DOM: typeof DOM; static initNodes(): void; static initNodesAsync(): void; static onNodeInit(callback: (nodeWrapper: NodeData) => void): void; static getInitCallbacks(): ((nodeData: NodeData) => void)[]; static onNodeUnload(callback: (nodeWrapper: NodeData) => void): void; static getUnloadCallbacks(): ((nodeData: NodeData) => void)[]; static configure(options: Partial): void; static get config(): Configuration; static get launcher(): Launcher; static get hooks(): Hooks<(nodeData: NodeData) => void>; } export default Vtree; declare class VtreeNodesCache { private nodes; private rootNodes; show(): Record; showRootNodes(): Node_2[]; getById(id: string): Node_2; add(node: Node_2): void; addAsRoot(node: Node_2): void; removeById(id: string): void; clear(): void; } export { }