import { DirectiveResult } from 'lit-html/directive.js';
import { Ref } from 'lit-html/directives/ref.js';
export type EventHandlerUnion = (e: E & {
currentTarget: T;
target: Element;
}) => void;
export type InputEventHandlerUnion = (e: E & {
currentTarget: T;
target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement ? T : Element;
}) => void;
export type ChangeEventHandlerUnion = (e: E & {
currentTarget: T;
target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement ? T : Element;
}) => void;
export type FocusEventHandlerUnion = (e: E & {
currentTarget: T;
target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement ? T : Element;
}) => void;
export type EventHandler = {
bivarianceHack(event: E): void;
}["bivarianceHack"];
export interface CustomAttributes {
/**
* [Documentation](https://qawebgis.esri.com/components/lumina/jsx#key-prop)
*/
key?: unknown;
/**
* [Documentation](https://qawebgis.esri.com/components/lumina/jsx#refs)
*/
ref?: EventHandler | Ref;
/**
* [Documentation](https://qawebgis.esri.com/components/lumina/jsx#lit-directives)
*/
directives?: readonly DirectiveResult[];
/**
* [Documentation](https://qawebgis.esri.com/components/lumina/jsx#deferring-web-component-load)
*/
deferLoad?: true;
}