import { type EmptyObject } from 'type-fest'; import { type DirectiveResult } from '../../lit-exports/all-lit-exports.js'; import { type PropertyInitMapBase } from '../properties/element-properties.js'; export type ElementDefinitionWithInputsType = { InputsType: InputsType; }; /** * Assign an object matching an element's inputs to its inputs. * * @deprecated Instead of using this directive, assign inputs directly on the element's * interpolation opening tag interpolation. * @example Html`<${MyElement} ${assign(MyElement, {value: 1})}>...` should be * html`<${MyElement.assign({value: 1})}>...` */ export declare function assign(declarativeElement: SpecificDeclarativeElement, inputsObject: EmptyObject extends Required ? never : SpecificDeclarativeElement['InputsType']): DirectiveResult; /** * Assign an object matching an element's inputs to its inputs. * * @deprecated Instead of using this directive, assign inputs directly on the element's * interpolation opening tag interpolation. * @example Html`<${MyElement} ${assign(MyElement, {value: 1})}>...` should be * html`<${MyElement.assign({value: 1})}>...` */ export declare function assign(inputsObject: SpecificInput extends typeof HTMLElement ? never : SpecificInput): DirectiveResult;