import { SwitchSize, SwitchState, SwitchValue } from './types'; import { FormLabelContextProps } from '../FormLabel/types'; import * as React from 'react'; export interface Props { className?: string; checked: boolean; disabled: boolean; id: string; isLoading: boolean; inputRef: (ref: any) => void; innerRef: (ref: any) => void; name: string; onBlur: (event: Event) => void; onChange: (state: boolean, { event: Event, value: SwitchValue }: { event: any; value: any; }) => void; onClick: (event: Event) => void; onFocus: (event: Event) => void; onMouseDown: (event: Event) => void; onMouseUp: (event: Event) => void; labelOn: string; labelOff: string; size: SwitchSize; state: SwitchState; value: SwitchValue; } export interface State { checked?: boolean; id: string; isActive: boolean; isFocused: boolean; } declare class Switch extends React.PureComponent { static defaultProps: { inputRef: () => void; innerRef: () => void; isLoading: boolean; labelOn: string; labelOff: string; onBlur: () => void; onChange: () => void; onClick: () => void; onFocus: () => void; onMouseDown: () => void; onMouseUp: () => void; size: string; value: string; }; shouldAutoUpdateChecked: boolean; constructor(props: Props); componentWillReceiveProps(nextProps: Props): void; handleOnChange: (event: Event) => void; handleOnClick: (event: Event) => void; handleOnBlur: (event: Event) => void; handleOnFocus: (event: Event) => void; handleOnMouseDown: (event: Event) => void; handleOnMouseUp: (event: Event) => void; setInnerRef: (node: HTMLElement) => void; getIdFromContextProps: (props?: FormLabelContextProps) => string; getInputMarkup: (props?: FormLabelContextProps) => JSX.Element; render(): JSX.Element; } export default Switch;