import { UtamPageObject, GeneratorConfigOptions } from '@utam/types'; import { Element } from '../utils/parser-wrapper'; /** * helper class for HTML elements traversal */ export declare class DocumentTraversal { private readonly namesTracker; private readonly pageObjectName; private readonly generatorConfig; private readonly secondary; constructor(pageObjectName: string, generatorConfig: GeneratorConfigOptions, map: Map); /** * build element name based on tag and index * @param category category of generated element * @param element HTML element node * @param isList boolean indicating element is a list * @param suffix name can have suffix * @param scopeElement for container use scope name * @returns string with element name */ private getElementName; /** * returns the type of the element, creates a custom type if needed * @param element HTML node * @returns element type or undefined if no match found */ private getElementType; /** * Build CSS selector string scoped inside its scope CSS * Depending on imposed rules, scope CSS can be ignored * @param element HTML element * @returns CSS string */ private buildScopedSelector; /** * build an element from the HTML node * @param node HTML node * @param isList boolean that defines if element is a list * @param scopeElement scope element * @returns UtamElement JSON object and its selector */ private processElement; /** * depending on config setup traversal can go inside custom tag * @param element current HTML node * @param customTypeShortName short name of the object to generate */ private traverseCustomElement; /** * traverse HTML elements starting from root * @param elementNode current HTML node * @param context current element context */ private traverseElements; private frameContentTraversal; private treeWalk; private registerTraversal; /** * traverse HTML source starting from root * @param rootNodes HTML elements, can be more than one root * @returns void, fill this.generatedMap */ traverse(rootNodes: Element[]): UtamPageObject; } //# sourceMappingURL=traversal.d.ts.map