import React from 'react';
import { LabelType } from './FieldLabel';
import { ControlledFieldWrapProps, UncontrolledFieldProps } from './TextField';
export declare type ToggleInputType = 'checkbox' | 'radio';
export declare type ToggleInputValue = string | number | boolean;
export declare type ToggleOptions = {
    options?: {
        label: LabelType;
        value: ToggleInputValue;
    }[];
};
export declare type InputState = {
    fieldValue: ToggleInputValue | [];
    hasOptions?: boolean;
    inputValue?: ToggleInputValue;
    checked: boolean;
};
export declare type ToggleTypeProps = {
    label: LabelType;
    variant?: 'default' | 'boxed' | 'button';
    type?: ToggleInputType;
};
export declare type ToggleFieldUncontrolledProps = UncontrolledFieldProps & ToggleTypeProps & ToggleOptions;
export declare type ToggleFieldControlledProps = ControlledFieldWrapProps & ToggleTypeProps & ToggleOptions;
export declare type ToggleInputProps = UncontrolledFieldProps & ToggleTypeProps & Pick<InputState, 'hasOptions' | 'inputValue'>;
export declare const ToggleField: React.ForwardRefExoticComponent<UncontrolledFieldProps & ToggleTypeProps & ToggleOptions & React.RefAttributes<HTMLInputElement>>;
export declare const ToggleFieldControlled: ({ label, options, variant, theme, type, ...props }: ToggleFieldControlledProps) => JSX.Element;
