export interface ResolveAnimationOptions {
    type: 'incoming' | 'outgoing';
    backward?: boolean;
    duration?: string;
}
export interface MarpTransitionData {
    name: string;
    duration?: string;
    builtinFallback?: boolean;
}
export interface MarpTransitionKeyframeSettings {
    name: string;
    defaultDuration?: string;
}
export type MarpTransitionResolvableKeyframeSettings = Omit<MarpTransitionKeyframeSettings, 'name'>;
export type MarpTransitionKeyframes = Record<keyof typeof directions, Record<keyof typeof types, MarpTransitionKeyframeSettings | undefined>>;
export declare const _resetResolvedKeyframes: () => void;
export declare const _testElementAnimation: (elm: HTMLElement, callback: (ret: MarpTransitionResolvableKeyframeSettings | undefined) => void) => void;
declare const types: {
    readonly both: "";
    readonly outgoing: "outgoing-";
    readonly incoming: "incoming-";
};
declare const directions: {
    readonly forward: "";
    readonly backward: "-backward";
};
export declare const getMarpTransitionKeyframes: (transitionName: string, { builtinFallback }?: {
    builtinFallback?: boolean;
}) => Promise<Readonly<MarpTransitionKeyframes> | undefined>;
export declare const isMarpTransitionKeyframesEmpty: (keyframes: MarpTransitionKeyframes) => boolean;
export declare const prepareMarpTransitions: (...transitionNames: string[]) => Promise<void>;
export declare const resolveAnimationStyles: (keyframes: MarpTransitionKeyframes, opts: Omit<ResolveAnimationOptions, "type">) => readonly string[];
export declare const isTransitionData: (data: unknown) => data is MarpTransitionData;
export declare const parseTransitionData: (rawJSON: string | undefined) => MarpTransitionData | undefined;
export {};
