import { LitElement } from 'lit'; export type UnpackCustomEvent = T extends CustomEvent ? U : never; export declare class MduiElement extends LitElement { /** * 触发自定义事件。若返回 false,表示事件被取消 * @param type * @param options 通常只用到 cancelable 和 detail;bubbles、composed 统一不用 */ protected emit>(type: K, options?: CustomEventInit): boolean; } export interface MduiElement { addEventListener(type: K, listener: (this: this, ev: M[K]) => unknown, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: this, ev: M[K]) => unknown, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; }