import { Component } from "@nuka9510/simple-custom-element"; export interface actionItem { /** * `EventListener`에 적용할 `event` \ * 지정되지 않았을 경우 `data-sce-event`의 값 사용 */ event?: string | string[]; /** `EventListener`에 적용할 `callback` */ callback: ( ev: T, target: U | EventTarget, component: Component ) => void | Promise; /** `EventListener`에 적용할 `option` */ option?: EventListenerOptions; /** 지정되지 않았을 경우 `data-sce-event` `attribute`를 사용하여 `event`를 지정했는지 여부 */ flag?: boolean; listener?: (ev: Event) => Promise; } export interface action { [data_sce_action: string]: actionItem[]; } export type root = Component | Document;