import * as React from "react";
import * as PropTypes from "prop-types";
import "./Step.less";
export declare type StepState = "INCOMPLETE" | "SUCCESS" | "WARNING" | "NEXT";
export interface Props {
    className?: string;
    title?: string;
    description?: React.ReactNode;
    id: string;
    label?: React.ReactNode;
    warning?: string;
    state?: StepState;
    current?: boolean;
    optional?: boolean;
    onClick?: (id: string) => void;
}
/**
 * Single icon and caption denoting a step.
 * Usually used in a Stepper for providing a list of steps to the user.
 */
export default class Step extends React.PureComponent<Props> {
    static propTypes: {
        className: PropTypes.Requireable<string>;
        title: PropTypes.Requireable<string>;
        description: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        id: PropTypes.Validator<string>;
        label: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        warning: PropTypes.Requireable<string>;
        state: PropTypes.Requireable<StepState>;
        current: PropTypes.Requireable<boolean>;
        optional: PropTypes.Requireable<boolean>;
        onClick: PropTypes.Requireable<(...args: any[]) => any>;
    };
    static defaultProps: {
        state: string;
    };
    _onClick: () => void;
    _iconContent: () => {};
    render(): JSX.Element;
}
