import * as React from "react";
import * as PropTypes from "prop-types";
interface BaseProps {
    plural?: string;
    short?: boolean;
    singular?: string;
    zeroOverride?: string;
}
interface FormatOptions extends BaseProps {
    number: string | number;
}
export interface Props extends BaseProps {
    children?: FormatOptions["number"];
    className?: string;
}
export declare const cssClass: {
    CONTAINER: string;
};
/**
 * Provides a convenient wrapper for displaying counts of things.
 * Renders a span containing a formatted number, using the `Number` component, followed by the given
 * singular or plural form of the subject, depending on the number.
 *
 * Specify a `zeroOverride` to provide an override message to be displayed in the zero case.
 *
 * Usage:
 *   const things = [1, 2, 3];
 *   <Count number={things.length} singular="thing">things</Count>
 *   // results in:
 *   <span>3 things</span>
 */
export default class Count extends React.PureComponent<Props> {
    static propTypes: {
        children: PropTypes.Requireable<string | number>;
        className: PropTypes.Requireable<string>;
        plural: PropTypes.Requireable<string>;
        singular: PropTypes.Validator<string>;
        short: PropTypes.Requireable<boolean>;
        zeroOverride: PropTypes.Requireable<string>;
    };
    static format({ number, plural, short, singular, zeroOverride }: FormatOptions): string;
    render(): JSX.Element;
}
export {};
