import { Node, SourceFile } from "typescript"; import { AnalyzerVisitContext } from "./chunk-analyzer-visit-context-749740e4"; import { ComponentDeclaration, ComponentDeclarationKind, ComponentHeritageClause } from "./chunk-component-declaration-14acf67d"; import { ComponentCssPart } from "./chunk-component-css-part-c0c96ec8"; import { ComponentCssProperty } from "./chunk-component-css-property-bf4b003a"; import { ComponentEvent } from "./chunk-component-event-8314091f"; import { ComponentFeature } from "./chunk-component-feature-b8a04bb4"; import { ComponentMember } from "./chunk-component-member-d7983be2"; import { ComponentMethod } from "./chunk-component-method-8314091f"; import { ComponentSlot } from "./chunk-component-slot-b8a04bb4"; type PriorityKind = "low" | "medium" | "high"; interface DefinitionNodeResult { tagName: string; tagNameNode?: Node; identifierNode?: Node; declarationNode?: Node; analyzerFlavor?: AnalyzerFlavor; } interface FeatureVisitReturnTypeMap { member: ComponentMember; method: ComponentMethod; cssproperty: ComponentCssProperty; csspart: ComponentCssPart; event: ComponentEvent; slot: ComponentSlot; } interface ComponentFeatureCollection { members: ComponentMember[]; methods: ComponentMethod[]; events: ComponentEvent[]; slots: ComponentSlot[]; cssProperties: ComponentCssProperty[]; cssParts: ComponentCssPart[]; } interface AnalyzerDeclarationVisitContext extends AnalyzerVisitContext { getDeclaration: () => ComponentDeclaration; declarationNode: Node; sourceFile: SourceFile; } type FeatureDiscoverVisitMap = { [K in ComponentFeature]: (node: Node, context: Context) => FeatureVisitReturnTypeMap[K][] | undefined; }; type FeatureRefineVisitMap = { [K in ComponentFeature]: (feature: FeatureVisitReturnTypeMap[K], context: AnalyzerVisitContext) => FeatureVisitReturnTypeMap[K] | FeatureVisitReturnTypeMap[K][] | undefined; }; interface InheritanceResult { heritageClauses?: ComponentHeritageClause[]; declarationNodes?: Node[]; declarationKind?: ComponentDeclarationKind; } interface AnalyzerFlavor { excludeNode?(node: Node, context: AnalyzerVisitContext): boolean | undefined; discoverDefinitions?(node: Node, context: AnalyzerVisitContext): DefinitionNodeResult[] | undefined; discoverInheritance?(node: Node, context: AnalyzerVisitContext): InheritanceResult | undefined; discoverFeatures?: Partial>; discoverGlobalFeatures?: Partial>; refineFeature?: Partial; refineDeclaration?(declaration: ComponentDeclaration, context: AnalyzerDeclarationVisitContext): ComponentDeclaration | undefined; } export { PriorityKind, DefinitionNodeResult, FeatureVisitReturnTypeMap, ComponentFeatureCollection, AnalyzerDeclarationVisitContext, FeatureDiscoverVisitMap, FeatureRefineVisitMap, InheritanceResult, AnalyzerFlavor }; //# sourceMappingURL=chunk-analyzer-flavor-749740e4.d.ts.map