import { InjectionToken } from '@angular/core';
export interface BMEnterFrameEvent {
    currentTime: number;
    duration: number;
    totalTime: number;
    type: 'enterFrame';
}
export interface BMCompleteLoopEvent {
    type: 'loopComplete';
    loop: number;
    playCount: number;
    frameMult: number;
}
export interface BMCompleteEvent {
    type: 'complete';
    duration: number;
}
export interface BMSegmentStartEvent {
    type: 'segmentStart';
    firstFrame: number;
    totalFrames: number;
}
export interface BMDestroyEvent {
    target: AnimationItem;
    type: 'destroy';
}
export interface BMRenderFrameErrorEvent {
    type: 'renderFrameError';
    nativeError: Error;
    currentTime: number;
}
export interface BMConfigErrorEvent {
    type: 'configError';
    nativeError: Error;
}
export declare type LottieEvent = BMEnterFrameEvent | BMCompleteLoopEvent | BMCompleteEvent | BMSegmentStartEvent | BMDestroyEvent | BMRenderFrameErrorEvent | BMConfigErrorEvent | void;
export declare type CamelizedAnimationEventName = 'complete' | 'loopComplete' | 'enterFrame' | 'segmentStart' | 'configReady' | 'dataReady' | 'domLoaded' | 'destroy' | 'error';
export declare type EventsMap = {
    [key in CamelizedAnimationEventName]: AnimationEventName;
};
export declare type AnimationFilename = string;
export declare type AnimationEventName = import('lottie-web').AnimationEventName;
export declare type AnimationItem = import('lottie-web').AnimationItem;
export declare type LottiePlayer = typeof import('lottie-web').default;
/**
 * @example
 * import player from 'lottie-web';
 * const factory = () => player;
 */
declare type LottiePlayerFactory = () => LottiePlayer;
/**
 * @example
 * const factory = () => import('lottie-web');
 */
declare type LottieLoader = () => Promise<typeof import('lottie-web')>;
export declare type LottiePlayerFactoryOrLoader = LottiePlayerFactory | LottieLoader;
export interface LottieOptions {
    player: LottiePlayerFactoryOrLoader;
}
export declare type AnimationConfigWithData = import('lottie-web').AnimationConfigWithData;
export declare type AnimationConfigWithPath = import('lottie-web').AnimationConfigWithPath;
export declare type AnimationOptions = Partial<AnimationConfigWithData> | Partial<AnimationConfigWithPath>;
export declare const LOTTIE_OPTIONS: InjectionToken<LottieOptions>;
export {};
