import { Directive, ElementPart } from 'lit/directive.js'; export type SpreadResult = { [key in string]: string | number | Array | { [k: string]: string | boolean; } | EventListenerObject | EventListener; }; export declare const setStyle: (el: Element, styleObj: string | string[] | { [k: string]: string; }) => void; export declare const removeStyle: (el: Element, styleObj: string | string[] | { [k: string]: string; }) => void; export declare const setClass: (el: Element, classObj: string | string[] | { [k: string]: boolean; }) => void; export declare const removeClass: (el: Element, classObj: string | string[] | { [k: string]: boolean; }) => void; declare class SpreadDirective extends Directive { private old; private el; render(_obj?: SpreadResult): symbol; update(_part: ElementPart, [obj]: Parameters): symbol; setObjectValue(obj?: SpreadResult): void; removeObjectValue(obj: SpreadResult): void; } export declare const spread: (_obj?: SpreadResult | undefined) => import("lit-html/directive").DirectiveResult; export type { SpreadDirective };