import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
import { InjectedFocusableProps } from '../common/Focusable';
import { CheckToggleProps } from '.';
/** CheckToggle */
export declare class CheckToggle extends PureComponent<InjectedFocusableProps<CheckToggleProps, HTMLLabelElement>> {
    static displayName: string;
    static propTypes: {
        dataHook: PropTypes.Requireable<string>;
        className: PropTypes.Requireable<string>;
        checked: PropTypes.Requireable<boolean>;
        onChange: PropTypes.Requireable<(...args: any[]) => any>;
        disabled: PropTypes.Requireable<boolean>;
        size: PropTypes.Requireable<"small" | "medium">;
        skin: PropTypes.Requireable<"standard" | "success">;
        tooltipContent: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        tooltipProps: PropTypes.Requireable<PropTypes.InferProps<any>>;
        focusableOnFocus: PropTypes.Requireable<(...args: any[]) => any>;
        focusableOnBlur: PropTypes.Requireable<(...args: any[]) => any>;
    };
    static defaultProps: CheckToggleProps;
    state: {
        checked: boolean;
    };
    /**
     * Checks if the component is controlled or uncontrolled.
     * The component is controlled only if prop checked is provided.
     *
     * @returns boolean
     * @private
     */
    _isControlled: () => boolean;
    /**
     * Toggles checked state and triggers the onChange callback.
     * Except when disabled
     */
    _handleChange: (changeEvent: React.ChangeEvent<HTMLInputElement>) => void;
    /**
     * Renders the toggle itself
     * @returns React.ReactNode
     * @private
     */
    _renderInput: () => React.JSX.Element | null;
    /**
     * Renders a tooltip wrapper
     * @returns React.ReactNode
     * @private
     */
    _renderTooltip: () => React.JSX.Element;
    render(): React.JSX.Element;
}
declare const _default: React.ComponentType<InjectedFocusableProps<CheckToggleProps, HTMLLabelElement>>;
export default _default;
//# sourceMappingURL=CheckToggle.d.ts.map