import { type traverse } from 'estree-toolkit'; import type { ImportManager } from '../imports'; import type { ComponentTransformOptions } from '../shared'; import type { ClassDeclaration, Identifier, MemberExpression, MethodDefinition, Node, ObjectExpression, PropertyDefinition } from 'estree'; export type Visitors = Parameters>[1]; export interface WireAdapter { adapterId: Identifier | MemberExpression; config: ObjectExpression; field: MethodDefinition | PropertyDefinition; } export interface ComponentMetaState { /** indicates whether a subclass of LightningElement is found in the JS being traversed */ isLWC: boolean; /** the class declaration currently being traversed, if it is an LWC component */ currentComponent: ClassDeclaration | null; /** indicates whether the LightningElement subclass includes a constructor method */ hasConstructor: boolean; /** indicates whether the subclass has a connectedCallback method */ hasConnectedCallback: boolean; /** indicates whether the subclass has a renderedCallback method */ hadRenderedCallback: boolean; /** indicates whether the subclass has a disconnectedCallback method */ hadDisconnectedCallback: boolean; /** indicates whether the subclass has a errorCallback method */ hadErrorCallback: boolean; /** the local name corresponding to the `LightningElement` import */ lightningElementIdentifier: string | null; /** the class name of the subclass */ lwcClassName: string | null; /** ties local variable names to explicitly-imported CSS files */ cssExplicitImports: Map | null; /** the set of variable names associated with explicitly imported CSS files */ staticStylesheetIds: Set | null; /** the public (`@api`-annotated) properties of the component class */ publicProperties: Map; /** the private properties of the component class */ privateProperties: Set; /** indicates whether the LightningElement has any wired props */ wireAdapters: WireAdapter[]; /** dynamic imports configuration */ dynamicImports: ComponentTransformOptions['dynamicImports']; /** imports to add to the top of the program after parsing */ importManager: ImportManager; /** identifiers starting with __lwc that we added */ trustedLwcIdentifiers: WeakSet; } //# sourceMappingURL=types.d.ts.map