import { default as ts } from 'typescript'; import { JsxContext } from './types.ts'; /** * This runs before we know what imports will be needed. * * 1. Go though all import paths and take note of them to inform us later if * some custom element import still need or need not be added * 2. Take note of all the existing Lit imports. Otherwise, when inserting * imports, if we see that e.x "html" is not present in the "lit" import, we * might import it again and fail to check that it might be imported further * down from "lit-html". * 3. Drop compiler-only imports that exist as runtime imports only for * type checking or as compiler hints. */ export declare function trackExistingImports(context: JsxContext, importDeclaration: ts.ImportDeclaration): ts.ImportDeclaration | undefined; /** * After we know what imports will be needed, if there already are some imports * from the places we are looking for, augment those import declarations. * * In a step after this, if any imports will still be needed, we will add them. */ export declare function augmentExistingImports(this: JsxContext, node: ts.Statement): ts.Statement; /** * For each remaining needed import that is not already included, add an * import declaration */ export declare function addMissingLitImports(context: JsxContext): ts.ImportDeclaration[];