import React, { PureComponent } from 'react';
import { Id } from '@monstrosity/types/id';
import { TabFlow } from '@monstrosity/enums/tab-index';
interface ToggleProps {
    id: Id;
    disabled?: boolean;
    name: string;
    tabIndex?: TabFlow;
    checked: boolean;
    description?: string;
    hint?: string;
    label?: string;
    onChange: (checked: boolean, id: Id) => void;
}
interface ToggleState {
    checked: boolean;
}
export declare const ToggleWrapper: import("styled-components").StyledComponent<"div", import("@monstrosity/types/theme").Theme, {}, never>;
export declare class Toggle extends PureComponent<ToggleProps, ToggleState> {
    private input;
    constructor(props: ToggleProps);
    onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
    focus(): void;
    blur(): void;
    renderLabel(): JSX.Element | null;
    renderHint(): JSX.Element | null;
    renderDescription(): JSX.Element | null;
    onKeyDown: (e: React.KeyboardEvent<HTMLDivElement>) => void;
    render(): JSX.Element;
}
export {};
