import * as PropTypes from "prop-types";
import * as React from "react";
import "./Switch.less";
export interface Props {
    className?: string;
    checked?: boolean;
    disabled?: boolean;
    onChange: (checked: boolean) => void;
    ariaLabel?: string;
    ariaLabelledby?: string;
}
/**
 * Switch toggles a single setting on or off with an immediate effect.
 * Common uses:
 *   - Enable or disable preferences, settings, or features.
 *
 * W3C spec: https://www.w3.org/TR/wai-aria-practices-1.1/#checkbox
 */
export default class Switch extends React.PureComponent<Props> {
    static propTypes: {
        ariaLabelledby: PropTypes.Requireable<string>;
        ariaLabel: PropTypes.Requireable<string>;
        className: PropTypes.Requireable<string>;
        checked: PropTypes.Validator<boolean>;
        disabled: PropTypes.Requireable<boolean>;
        onChange: PropTypes.Validator<(...args: any[]) => any>;
    };
    static defaultProps: {
        ariaLabelledby: string;
        ariaLabel: string;
        className: string;
        disabled: boolean;
    };
    render(): JSX.Element;
    _onClick: () => void;
}
