import type { Part } from 'lit'; import { AsyncDirective } from 'lit/async-directive.js'; type EventListenerWithOptions = EventListenerOrEventListenerObject & Partial; /** * Spreads properties and attributes onto an element. * * @example * ```ts * import { html, render } from 'lit'; * import { spread } from '../../spread.js'; * * render( * html` *
console.log('my-event fired'), * })} * >
* `, * document.body, * ); * ``` */ declare class SpreadDirective extends AsyncDirective { host: Element | EventTarget | object; element: Element; prevData: { [key: string]: unknown; }; protected eventData: { [key: string]: unknown; }; render(_spreadData: { [key: string]: unknown; }): symbol; update(part: Part, [spreadData]: Parameters): void; apply(data: { [key: string]: unknown; }): void; groom(data: { [key: string]: unknown; }): void; protected applyEvent(eventName: string, eventValue: EventListenerWithOptions): void; protected groomEvent(eventName: string, eventValue: EventListenerWithOptions): void; handleEvent(event: Event): void; protected disconnected(): void; protected reconnected(): void; } export declare const spread: (_spreadData: { [key: string]: unknown; }) => import("lit-html/directive.js").DirectiveResult; export {}; //# sourceMappingURL=spread.d.ts.map