import React, { DetailedHTMLProps, ButtonHTMLAttributes, PropsWithChildren } from 'react';
export interface IMultiChoiceButtonLabelProps {
    label: string;
}
export interface IMultiChoiceButtonOption extends IMultiChoiceButtonLabelProps {
    value: string;
    userAnswer?: string;
    setUserAnswer?: (text: string) => void;
    maxLength?: number;
}
export interface IMultiChoiceButtonProps extends DetailedHTMLProps<ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement> {
    option: IMultiChoiceButtonOption;
    selected: boolean;
}
export interface IMultiChoice {
    options: IMultiChoiceButtonOption[];
    selectedOptions: IMultiChoiceButtonOption[];
    deselectWhenValues?: string[];
    disabledWhenValues?: string[];
    onSelect: (newOptions: IMultiChoiceButtonOption[]) => void;
}
export declare const MultiChoicesButtonWrapper: ({ children }: PropsWithChildren) => React.JSX.Element;
export declare const MultiChoiceButton: ({ children, option, selected, ...props }: IMultiChoiceButtonProps) => React.JSX.Element;
export declare const MultiChoicesButtonLabel: ({ label }: IMultiChoiceButtonLabelProps) => React.JSX.Element;
export declare const MultiChoice: ({ options, selectedOptions, deselectWhenValues, disabledWhenValues, onSelect }: IMultiChoice) => React.JSX.Element;
