import { ReactElement } from 'react';
import { FieldComponentProps } from '@cezembre/forms';
export interface RadioOptionComponentProps<V = unknown> {
    value?: V;
    active?: boolean;
}
export interface RadioOption<V = unknown> {
    value: V;
    label?: string | number | boolean;
    element?: ReactElement<RadioOptionComponentProps<V>> | null;
    component?: (props: RadioOptionComponentProps<V>) => ReactElement | null;
}
export type RadioOrientation = 'horizontal' | 'vertical';
export interface RadioProps<V = unknown> extends FieldComponentProps<V> {
    label?: string;
    options?: RadioOption<V>[];
    optionComponent?: (props: RadioOptionComponentProps<V>) => ReactElement | null;
    canReset?: boolean;
    instructions?: ReactElement | string;
    orientation?: RadioOrientation;
    fullWidth?: boolean;
    comparisonFn?: (a: V, b: V) => boolean;
}
export declare function Radio<V = unknown>({ value, error, warning, isActive, name, onChange, label, options, optionComponent, canReset, instructions, orientation, fullWidth, comparisonFn, }: RadioProps<V>): ReactElement;
