import * as PropTypes from 'prop-types';
import { BoxProps } from '../Box/Box';
import { SkeletonLine } from './SkeletonLine';
import { SkeletonShape } from './SkeletonShape';
import { SkeletonButton } from './SkeletonButton';
import { SkeletonText } from './SkeletonText';
import { SkeletonInput } from './SkeletonInput';
import { SkeletonAvatar } from './SkeletonAvatar';
export interface SkeletonOwnProps {
    /**
     * Define if items inside should be animated and which kind of animation.
     */
    animation?: 'pulse' | 'wave';
}
export interface SkeletonProps extends SkeletonOwnProps, BoxProps {
}
export declare type SkeletonStylesProps = Required<Pick<SkeletonProps, 'animation'>>;
export declare const skeletonClassName = "ui-skeleton";
/**
 * A Skeleton is a component to be placed while the content is loading.
 */
export declare const Skeleton: (<TExtendedElementType extends import("react").ElementType<any> = "div">(props: Omit<import("@fluentui/react-bindings").PropsOfElement<TExtendedElementType>, "as" | keyof SkeletonProps> & {
    as?: TExtendedElementType;
} & SkeletonProps) => JSX.Element) & {
    propTypes?: import("react").WeakValidationMap<SkeletonProps> & {
        as: import("react").Requireable<string | ((props: any, context?: any) => any) | (new (props: any, context?: any) => any)>;
    };
    contextTypes?: PropTypes.ValidationMap<any>;
    defaultProps?: Partial<SkeletonProps & {
        as: "div";
    }>;
    displayName?: string;
    readonly __PRIVATE_PROPS?: Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
        ref?: import("react").Ref<HTMLDivElement>;
    }, "as" | keyof SkeletonProps> & {
        as?: "div";
    } & SkeletonProps;
} & {
    Line: typeof SkeletonLine;
    Shape: typeof SkeletonShape;
    Button: typeof SkeletonButton;
    Text: typeof SkeletonText;
    Input: typeof SkeletonInput;
    Avatar: typeof SkeletonAvatar;
};
