/**
 * @name Loader
 *
 * @description
 *  A loader component that supports different animations such as Spin, Pulse and Jello.  See the teamsnap patterns
 *  library for more information https://teamsnap-ui-patterns.netlify.com/patterns/components/loader.html
 *
 * @example
 *  <Loader type='jello' text='loading' />
 *
 */
import * as React from "react";
import * as PropTypes from "prop-types";
declare class Loader extends React.PureComponent<PropTypes.InferProps<typeof Loader.propTypes>, any> {
    static propTypes: {
        type: PropTypes.Validator<string>;
        text: PropTypes.Requireable<string>;
        message: PropTypes.Requireable<string>;
        className: PropTypes.Requireable<string>;
        mods: PropTypes.Requireable<string>;
        style: PropTypes.Requireable<object>;
        otherProps: PropTypes.Requireable<object>;
    };
    static defaultProps: {
        text: any;
        message: any;
        className: string;
        mods: any;
        style: {};
        otherProps: {};
    };
    renderSpinAnimation: () => JSX.Element;
    renderPulseAnimation: () => JSX.Element;
    renderJelloAnimation: () => JSX.Element;
    renderAnimation: (type: any) => JSX.Element;
    render(): JSX.Element;
}
export default Loader;
