import * as react from 'react';

interface IAnimationProps {
    children?: React.ReactNode;
    out?: boolean;
    left?: boolean;
    right?: boolean;
    top?: boolean;
    bottom?: boolean;
    mirror?: boolean;
    opposite?: boolean;
    timeout?: number;
    duration?: number;
    delay?: number;
    count?: number;
    forever?: boolean;
    distance?: string;
    big?: boolean;
}

declare function Jump({ children, out, timeout, duration, delay, count, forever, ...props }?: IAnimationProps): react.JSX.Element;

declare function Pop({ children, out, timeout, duration, delay, count, forever, ...props }?: IAnimationProps): react.JSX.Element;

declare function Jello({ children, out, timeout, duration, delay, count, forever, ...props }?: IAnimationProps): react.JSX.Element;

declare function Flash({ children, out, timeout, duration, delay, count, forever, ...props }?: IAnimationProps): react.JSX.Element;

declare function HeadShake({ children, out, timeout, duration, delay, count, forever, ...props }?: IAnimationProps): react.JSX.Element;

declare function Pulse({ children, out, timeout, duration, delay, count, forever, ...props }?: IAnimationProps): react.JSX.Element;

declare function RubberBand({ children, out, timeout, duration, delay, count, forever, ...props }?: IAnimationProps): react.JSX.Element;

declare function Shake({ children, out, timeout, duration, delay, count, forever, ...props }?: IAnimationProps): react.JSX.Element;

declare function Spin({ children, out, timeout, duration, delay, count, forever, ...props }?: IAnimationProps): react.JSX.Element;

declare function Swing({ children, out, timeout, duration, delay, count, forever, ...props }?: IAnimationProps): react.JSX.Element;

declare function Tada({ children, out, timeout, duration, delay, count, forever, ...props }?: IAnimationProps): react.JSX.Element;

declare function Wobble({ children, out, timeout, duration, delay, count, forever, ...props }?: IAnimationProps): react.JSX.Element;

interface Props$7 extends IAnimationProps {
}
declare function Rotate({ children, out, forever, timeout, duration, delay, count, ...props }?: Props$7): react.JSX.Element;

interface Props$6 extends IAnimationProps {
}
declare function Bounce({ children, out, forever, timeout, duration, delay, count, ...props }?: Props$6): react.JSX.Element;

interface Props$5 extends IAnimationProps {
    context?: boolean;
}
declare function Fade({ children, out, forever, timeout, duration, delay, count, ...props }?: Props$5): react.JSX.Element;

interface Props$4 extends IAnimationProps {
    x?: boolean;
    y?: boolean;
}
declare function Flip({ children, out, forever, timeout, duration, delay, count, ...props }?: Props$4): react.JSX.Element;

interface Props$3 extends IAnimationProps {
}
declare function LightSpeed({ children, out, forever, timeout, duration, delay, count, ...props }?: Props$3): react.JSX.Element;

interface Props$2 extends IAnimationProps {
}
declare function Roll({ children, out, forever, timeout, duration, delay, count, ...props }?: Props$2): react.JSX.Element;

interface Props$1 extends IAnimationProps {
}
declare function Slide({ children, out, forever, timeout, duration, delay, count, ...props }?: Props$1): react.JSX.Element;

interface Props extends IAnimationProps {
}
declare function Zoom({ children, out, forever, timeout, duration, delay, count, ...props }?: Props): react.JSX.Element;

export { Bounce, Fade, Flash, Flip, HeadShake, Jello, Jump, LightSpeed, Pop, Pulse, Roll, Rotate, RubberBand, Shake, Slide, Spin, Swing, Tada, Wobble, Zoom };
