import { ReactiveController, ReactiveElement } from "lit"; import { Command, State } from "../types"; import { CommandMeta, CommandParams } from "./events"; import { Interface } from "@lit/reactive-element/decorators/base"; export declare class EventListener implements ReactiveController { protected host: ReactiveElement; private command; private name; private dependencies?; root: ReactiveElement; unsubscribe?: () => void; constructor(host: ReactiveElement, command: Command, name: PropertyKey, dependencies?: State); hostConnected(): void; hostDisconnected(): void; } export declare function createCommand(host: ReactiveElement): (command: Command | keyof typeof Command, params?: CommandParams, meta?: CommandMeta) => boolean; export type CommandDecorator = { (proto: Interface, name: PropertyKey): void | any; any>(value: V, _context: ClassMethodDecoratorContext): void; }; export declare function createCommandListener(command: Command, requirements?: State): CommandDecorator;