import React from 'react';
import { IOverlayWrapperProps } from '../OverlayWrapper/OverlayWrapper';
export interface ILoadingIndicatorProps extends IOverlayWrapperProps {
    /** Set this to `false` if you don't want the semi-transparent overlay over
        the wrapped content */
    hasOverlay: boolean;
    /** Controls the visibility of the `LoadingMessage` and overlay. */
    isLoading: boolean;
    /** Positions the loading message near the top of the container. By default,
     *  the loading message is vertically aligned to the middle of the container.
     */
    anchorMessage: boolean;
    /** By default, the OverlayMessage is vertically aligned to the middle of the
     *	OverlayWrapper, and the `OverlayWrapper` is the height of the entire content.
     *	Set this to true to position the `OverlayMessage` near the center of the
     *	`OverlayWrapper`, and fix the `OverlayWrapper` to the screen height and width.
     */
    fixedMessage: boolean;
    /** Style variations for the overlay behind the loading indicator. */
    overlayKind: 'light' | 'dark';
}
export declare const LoadingIndicator: {
    (props: ILoadingIndicatorProps): React.ReactElement;
    LoadingMessage: {
        (props: import("../LoadingMessage/LoadingMessage").ILoadingMessageProps): React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>;
        Icon: {
            (_props: import("../LoadingMessage/LoadingMessage").ILoadingMessageIconProps): null;
            displayName: string;
            peek: {
                description: string;
            };
            propName: string;
            propTypes: {
                description: any;
                children: any;
            };
        };
        Title: {
            (_props: import("../LoadingMessage/LoadingMessage").ILoadingMessageTitleProps): null;
            displayName: string;
            peek: {
                description: string;
            };
            propName: string;
            propTypes: {
                description: any;
                children: any;
            };
        };
        Body: {
            (_props: import("../LoadingMessage/LoadingMessage").ILoadingMessageBodyProps): null;
            displayName: string;
            peek: {
                description: string;
            };
            propName: string;
            propTypes: {
                description: any;
                children: any;
            };
        };
        _isPrivate: boolean;
        displayName: string;
        peek: {
            description: string;
            categories: string[];
            madeFrom: string[];
        };
        propTypes: {
            className: any;
            children: any;
            Icon: any;
            Title: any;
            Body: any;
        };
    };
    displayName: string;
    peek: {
        description: string;
        notes: {
            overview: string;
            intendedUse: string;
            technicalRecommendations: string;
        };
        categories: string[];
        madeFrom: string[];
    };
    propTypes: {
        className: any;
        children: any;
        hasOverlay: any;
        isLoading: any;
        anchorMessage: any;
        fixedMessage: any;
        overlayKind: any;
    };
    defaultProps: {
        hasOverlay: boolean;
        isLoading: boolean;
        overlayKind: "light";
        anchorMessage: boolean;
        fixedMessage: boolean;
    };
};
export default LoadingIndicator;
