/** * @license * Copyright 2021 Google LLC * SPDX-License-Identifier: BSD-3-Clause */ import ts from 'typescript'; import type { LitClassContext } from '../lit-class-context.js'; import type { MemberDecoratorVisitor } from '../visitor.js'; /** * Transform: * * @query('#myDiv') * div * * @query('#mySpan', true) * span * * Into: * * get div() { * return this.renderRoot?.querySelector('#myDiv'); * } * * get span() { * return this.__span ??= this.renderRoot?.querySelector('#myDiv') ?? null; * } */ export declare class QueryVisitor implements MemberDecoratorVisitor { readonly kind = "memberDecorator"; readonly decoratorName = "query"; private readonly _factory; constructor({ factory }: ts.TransformationContext); visit(litClassContext: LitClassContext, property: ts.ClassElement, decorator: ts.Decorator): void; private _createQueryGetter; }