import { NodePath } from '@babel/traverse'; import * as t from '@babel/types'; import { ImportMetadata } from '@komaci/common-shared'; import { PrimingDiagnostic } from '../types'; /** * Invariant function to check for no references to module varaibles. * @param path the babel path for the identifier. * @param moduleVars a collection of module variables. * @param classVariables a collection of variables defined within the a getter. * @returns a locatoin object if there are references to a module variable, undefined if not. */ export declare function checkForNoReferenceToModuleVariables(path: NodePath, moduleVars: string[], classVariables: string[]): PrimingDiagnostic | undefined; /** * Invariant function to check if an identifier references an unsupported import. * * We ignore identifiers in specific usecases for this check predominantly bc of situational awareness: * - Decorator parent: out of scope for this check * - This Expression Parent: this.anything will never be an import ref * - MemberExpression, CallExpression, TaggedTemplateExpression: similar checks done by other invariants so don't have to do them here. * * @param path the babel path object for the current member expression * @param supportedImportRefs a set of supported import references. * @param declaredVariables list of variables declared in the function to manage scoping collisions * @returns undefined if a member expression does NOT reference an unsuppoerted import, PrimingDiagnostic object * if an unsupported import is reference. */ export declare function checkIdentifierForNonSupportedNamespaceRefs(path: NodePath, importReferences: Map, declaredVariables: string[]): PrimingDiagnostic | undefined; //# sourceMappingURL=identifierInvariantFunctions.d.ts.map