1import * as React from "react";
2import { AbstractPureComponent2 } from "../../common";
3import { IntentProps, Props } from "../../common/props";
4export declare enum SpinnerSize {
5    SMALL = 20,
6    STANDARD = 50,
7    LARGE = 100
8}
9export declare type SpinnerProps = ISpinnerProps;
10/** @deprecated use SpinnerProps */
11export interface ISpinnerProps extends Props, IntentProps {
12    /**
13     * Width and height of the spinner in pixels. The size cannot be less than
14     * 10px.
15     *
16     * Constants are available for common sizes:
17     * - `SpinnerSize.SMALL = 20px`
18     * - `SpinnerSize.STANDARD = 50px`
19     * - `SpinnerSize.LARGE = 100px`
20     *
21     * @default SpinnerSize.STANDARD = 50
22     */
23    size?: number;
24    /**
25     * HTML tag for the two wrapper elements. If rendering a `<Spinner>` inside
26     * an `<svg>`, change this to an SVG element like `"g"`.
27     *
28     * @default "div"
29     */
30    tagName?: keyof JSX.IntrinsicElements;
31    /**
32     * A value between 0 and 1 (inclusive) representing how far along the operation is.
33     * Values below 0 or above 1 will be interpreted as 0 or 1 respectively.
34     * Omitting this prop will result in an "indeterminate" spinner where the head spins indefinitely.
35     */
36    value?: number;
37}
38export declare class Spinner extends AbstractPureComponent2<SpinnerProps> {
39    static displayName: string;
40    /** @deprecated use SpinnerSize.SMALL */
41    static readonly SIZE_SMALL = SpinnerSize.SMALL;
42    /** @deprecated use SpinnerSize.STANDARD */
43    static readonly SIZE_STANDARD = SpinnerSize.STANDARD;
44    /** @deprecated use SpinnerSize.LARGE */
45    static readonly SIZE_LARGE = SpinnerSize.LARGE;
46    componentDidUpdate(prevProps: SpinnerProps): void;
47    render(): React.ReactElement<{
48        className: string;
49        role: string;
50    }, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)>;
51    protected validateProps({ className, size }: SpinnerProps): void;
52    /**
53     * Resolve size to a pixel value.
54     * Size can be set by className, props, default, or minimum constant.
55     */
56    private getSize;
57    /** Compute viewbox such that stroked track sits exactly at edge of image frame. */
58    private getViewBox;
59}
60