import React from 'react';
import { StandardProps, Overwrite } from '../../util/component-types';
export interface ISwitchPropsRaw extends StandardProps {
    /** Indicates whether the component should appear and act disabled by having
     * a "greyed out" palette and ignoring user interactions.
     *
     * @default false
     * */
    isDisabled: boolean;
    /** Indicates that the component is in the "selected" state when true and in
     * the "unselected" state when false.
     *
     * @default false
     * */
    isSelected: boolean;
    /** Called when the user clicks on the component or when they press the space
     * key while the component is in focus.
     *
     * @default _.noop
     * */
    onSelect: (isSelected: boolean, { event, props, }: {
        event: React.MouseEvent<HTMLSpanElement> | React.TouchEvent<HTMLSpanElement>;
        props: ISwitchProps;
    }) => void;
    /** Offers a red/green styling to the switch.
     *
     * @default false
     */
    isIncludeExclude: boolean;
}
export declare type ISwitchProps = Overwrite<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, ISwitchPropsRaw>;
export declare const Switch: {
    (props: ISwitchProps): React.ReactElement;
    defaultProps: {
        isDisabled: boolean;
        isSelected: boolean;
        onSelect: (...args: any[]) => void;
        isIncludeExclude: boolean;
    };
    displayName: string;
    peek: {
        description: string;
        categories: string[];
    };
    propTypes: {
        className: any;
        isDisabled: any;
        isSelected: any;
        onSelect: any;
        style: any;
        isIncludeExclude: any;
    };
};
export default Switch;
