/** * An event emitter object */ export type EventEmitter = { emit(payload: T): CustomEvent; }; /** * While these defaults don't match DOM defaults (all false), they match * Stencil and Shoelace defaults. Also, they make more sense for our * usage (i.e why would you want events to not be cancelable by default?) */ export type EventOptions = { /** * A Boolean indicating whether the event bubbles up through the DOM or not. * * @default true */ bubbles?: boolean; /** * A Boolean indicating whether the event is cancelable. Defaults to `true`, * unlike the DOM's default of `false`, as that is the desired behavior most * of the time. * * @default true */ cancelable?: boolean; /** * A Boolean value indicating whether or not the event can bubble across the * boundary between the shadow DOM and the regular DOM. * * @default true */ composed?: boolean; }; export declare const createEventFactory: (eventName?: string, options?: EventOptions, component?: import('./LitElement.ts').LitElement) => EventEmitter; /** * Creates an event emitter. * Events emitted by your component will be included in the documentation. * * @example * Declaring an event whose payload is of type `number`: * * ```ts * class MyComponent extends LitElement { * arcgisClick = createEvent(); * } * ``` * */ export declare const createEvent: (options?: EventOptions) => EventEmitter;