/** * @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: * * class MyElement extends LitElement { * * @eventOptions({capture: true}) * private _onClick(event) { * console.log('click', event.target); * } * * @eventOptions({passive: true}) * public onKeydown(event) { * console.log('keydown', event.target); * } * * render() { * return html` * `; * } * } * * Into: * * class MyElement extends LitElement { * * _onClick(event) { * console.log('click', event.target); * } * * onKeydown(event) { * console.log('keydown', event.target); * } * * render() { * return html` * * `; * } * } * Object.assign(MyElement.prototype.onKeydown, {passive: true}); */ export declare class EventOptionsVisitor implements MemberDecoratorVisitor { readonly kind = "memberDecorator"; readonly decoratorName = "eventOptions"; private readonly _factory; private readonly _program; constructor({ factory }: ts.TransformationContext, program: ts.Program); visit(litClassContext: LitClassContext, method: ts.ClassElement, decorator: ts.Decorator): void; private _createMethodOptionsAssignment; }