import { LitElement } from 'lit'; export interface DetailObj { [key: string]: unknown; } export interface Cre8DispatchProps { e?: Event; eventName: string; detailObj?: DetailObj; optionsObj?: { [key: string]: unknown; }; } export interface Cre8Event extends Event { detail: { originalEvent: Event; detailObj: DetailObj; }; } /** * Pre-normalization event names, keyed by their current name. * * Events were normalized to `component-action` kebab-case (see * `agent-docs/CODE_GUIDELINES.md`). Every renamed event is dispatched twice — * once under its current name, once under the legacy name — so existing * listeners keep working for one major version. * * 1) Delete this map and `dispatchLegacyAlias` in the next major release. */ export declare const DEPRECATED_EVENT_ALIASES: Readonly>; /** * A base element. */ export declare class Cre8Element extends LitElement { /** * Abstraction of `classnames` that automatically includes any style modifier * as well as any set variants. * * It is expected that `variant` would be overridden in a subclass with more * specific types, `@property() variant?: 'foo' | 'bar'` * * @param baseClassName */ componentClassNames(baseClassName: string, additionalClassNames?: {}): string; /** * Check if a slot is empty * * @param slotName */ slotEmpty(slotName: string): boolean; /** * Check if a slot is not empty * * @param slotName */ slotNotEmpty(slotName: string): boolean; /** * Dispatch a custom event. */ dispatch({ e, eventName, detailObj, optionsObj, }: Cre8DispatchProps): CustomEvent; /** * Dispatch an event, followed by its pre-normalization alias if it has one. * 1) Components that build their own event object should dispatch through * this instead of `dispatchEvent` so legacy listeners keep firing * 2) The alias mirrors the original's propagation flags and detail, so a * legacy listener sees exactly what it saw before the rename */ protected dispatchWithLegacyAlias(event: T): T; /** * Example render, should not be used */ render(): import("lit-html").TemplateResult<1>; } //# sourceMappingURL=cre8-element.d.ts.map