/**
* @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;
}