import * as lit_html from 'lit-html';
import * as lit from 'lit';
import { LitElement } from 'lit';
declare const effects: readonly ["fade", "flip"];
declare enum EnumEffects {
Fade = "fade",
Flip = "flip"
}
type TypeEffects = typeof effects[number];
/**
* @since 1.0.0
* @status stable
*
* @tagname kemet-rotator
* @summary A component that rotates through an array of text.
*
* @prop {number} activeSlide - The index number for the current slide.
* @prop {string} width - The width of the rotator block.
* @prop {string} height - The height of the rotator block.
* @prop {array} messages - Text in the rotator. Supports HTML.
* @prop {TypeEffects} effect - The transition effect type.
* @prop {number} rotationSpeed - How fast, in seconds, each slide lasts. Stop the rotator with 0.
*
* @cssproperty --kemet-rotator-transition-speed - How long, in css time units, the transition effect lasts.
*
*/
declare class KemetRotator extends LitElement {
static styles: lit.CSSResult[];
activeSlide: number;
width: string;
height: string;
messages: string[];
effect: TypeEffects;
rotationSpeed: number;
prevSlide: number | null;
firstUpdated(): void;
updated(changed: Map): void;
render(): lit_html.TemplateResult<1>;
makeMessages(): lit_html.TemplateResult<1>[];
setDimensions(): void;
/**
* Rotates to the next slide.
* @public
* @method nextSlide
* @returns {void}
*/
nextSlide(): void;
}
declare global {
interface HTMLElementTagNameMap {
'kemet-rotator': KemetRotator;
}
}
export { EnumEffects, type TypeEffects, KemetRotator as default, effects };