import * as React from 'react';
export interface ToggleSwitchCoreStyles {
    root?: React.CSSProperties;
    track?: React.CSSProperties;
    knob?: React.CSSProperties;
    knobIcon?: React.CSSProperties;
}
export interface ToggleSwitchCoreProps {
    /** hook for testing purposes */
    'data-hook'?: string;
    className?: string;
    checked?: boolean;
    disabled?: boolean;
    tabIndex?: number;
    onChange?(): void;
    styles?: ToggleSwitchCoreStyles;
    id?: string;
    checkedIcon?: React.ReactNode;
    uncheckedIcon?: React.ReactNode;
    dataHook?: string;
    'aria-label'?: string;
}
export interface ToggleSwitchCoreState {
    focus: boolean;
    focusVisible: boolean;
}
/**
 * Toggle Switch
 */
export default class ToggleSwitchCore extends React.PureComponent<ToggleSwitchCoreProps, ToggleSwitchCoreState> {
    static displayName: string;
    static defaultProps: {
        checked: boolean;
        styles: {};
        tabIndex: number;
        onChange: () => null;
    };
    state: {
        focus: boolean;
        focusVisible: boolean;
    };
    private focusedByMouse;
    render(): React.JSX.Element;
    private readonly handleKeyDown;
    private readonly handleMouseDown;
    private readonly handleFocus;
    private readonly handleBlur;
}
//# sourceMappingURL=ToggleSwitchCore.d.ts.map