import * as lit from 'lit'; import { LitElement } from 'lit'; import { RefObject } from 'react'; import { AnimationDirection, RendererType, AnimationSegment, AnimationItem } from 'lottie-web'; declare enum PlayerState { Completed = "completed", Destroyed = "destroyed", Error = "error", Frozen = "frozen", Loading = "loading", Paused = "paused", Playing = "playing", Stopped = "stopped" } declare enum PlayMode { Bounce = "bounce", Normal = "normal" } declare enum PlayerEvents { Complete = "complete", Destroyed = "destroyed", Error = "error", Frame = "frame", Freeze = "freeze", Load = "load", Loop = "loop", Pause = "pause", Play = "play", Ready = "ready", Rendered = "rendered", Stop = "stop" } type Autoplay = boolean | '' | 'autoplay' | null; type Controls = boolean | '' | 'controls' | null; type Loop = boolean | '' | 'loop' | null; type Subframe = boolean | '' | null; type ObjectFit = 'contain' | 'cover' | 'fill' | 'scale-down' | 'none'; type PreserveAspectRatio = 'xMidYMid meet' | 'xMidYMid slice' | 'xMinYMin slice' | 'none'; interface ReactLottiePlayer extends Partial { class?: string; ref?: RefObject; style?: any; } declare global { interface HTMLElementTagNameMap { 'dotlottie-player': DotLottiePlayer; } } declare global { namespace JSX { interface IntrinsicElements { 'dotlottie-player': ReactLottiePlayer; } } } declare class DotLottiePlayer extends LitElement { autoplay?: Autoplay; background?: string; controls?: Controls; count?: number; currentState?: PlayerState; description?: string; direction?: AnimationDirection; hover?: boolean | undefined; intermission?: number | undefined; loop?: Loop; mode?: PlayMode; objectfit?: ObjectFit; preserveAspectRatio?: PreserveAspectRatio; renderer?: RendererType; segment?: AnimationSegment; seeker?: number; speed?: number; src: string; subframe?: Subframe; protected container: HTMLElement; private _io?; private _lottie; private _prevState?; private _counter; private _error?; load(src: string | Record | JSON): Promise; private _onVisibilityChange; private _handleSeekChange; private isLottie; getLottie(): AnimationItem | null; play(): void; pause(): void; stop(): void; destroy(): void; seek(value: number | string): void; snapshot(download?: boolean): string | undefined; setSubframe(value: boolean): void; private freeze; reload(): Promise; setSpeed(value?: number): void; setDirection(value: AnimationDirection): void; setLooping(value: boolean): void; togglePlay(): void; toggleLooping(): void; toggleBoomerang(): void; static get styles(): lit.CSSResult; connectedCallback(): void; protected firstUpdated(): Promise; disconnectedCallback(): void; protected renderControls(): lit.TemplateResult<1>; protected render(): lit.TemplateResult<1>; } export { DotLottiePlayer, PlayMode, PlayerEvents, PlayerState };