/** * @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: * * @property({type: Number}) * foo = 123; * * Into: * * static get properties() { * return { * foo: {type: Number} * } * } * * constructor() { * super(...arguments); * this.foo = 123; * } */ export declare class PropertyVisitor implements MemberDecoratorVisitor { readonly kind = "memberDecorator"; decoratorName: string; protected readonly _factory: ts.NodeFactory; constructor({ factory }: ts.TransformationContext); visit(litClassContext: LitClassContext, propertyOrGetter: ts.ClassElement, decorator: ts.Decorator): void; protected _augmentOptions(options: ts.ObjectLiteralExpression | undefined): ts.ObjectLiteralExpression | undefined; }