import type { Color } from './types';
import { type StyleValue } from 'vue';
export type ButtonsRadioOption<T = string | number | boolean> = {
    /** The label of the option */
    label: string;
    /** The value of the option */
    value: T;
    /** The classes to apply to the option */
    classes?: any;
    /** The style to apply to the option */
    style?: StyleValue;
} & Record<string, unknown>;
export interface Props<T = string | number | boolean> {
    /** @model The value of the selected option */
    modelValue?: T;
    /** The options to display */
    options: ButtonsRadioOption<T>[];
    /** The name of the radio group */
    name?: string;
    /** The color of the selected radio buttons */
    color?: Color;
    /** Add elevation to the radio buttons */
    elevation?: boolean;
    /**
     * The orientation of the radio buttons
     * @values 'row' | 'col'
     * @default 'row'
     */
    orientation?: 'row' | 'col';
    /** Disable the wrap of the radio buttons */
    noWrap?: boolean;
    /** Make all radio buttons the same size */
    equalSize?: boolean;
    /** Display a selector icon */
    selector?: boolean;
    /** The component will be displayed in full width */
    block?: boolean;
    /** Whether there is an error with the input. */
    error?: boolean;
    /** Whether the input is successful. */
    success?: boolean;
    /** Whether there is a warning with the input. */
    warning?: boolean;
    /** The hint text to display below the input. */
    hint?: string;
}
export type { Color } from './types';
declare const _default: <T extends string | number | boolean>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
        readonly onBlur?: ((value: FocusEvent) => any) | undefined;
        readonly onChange?: ((value: T) => any) | undefined;
        readonly onFocus?: ((value: FocusEvent) => any) | undefined;
        readonly "onUpdate:model-value"?: ((value: T) => any) | undefined;
    } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onFocus" | "onBlur" | "onChange" | "onUpdate:model-value"> & Partial<{}> & Props<T>> & import("vue").PublicProps;
    expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: {
        default?(_: {
            option: ButtonsRadioOption<T>;
            selected: boolean;
        }): any;
    };
    emit: ((evt: "blur", value: FocusEvent) => void) & ((evt: "change", value: T) => void) & ((evt: "focus", value: FocusEvent) => void) & ((evt: "update:model-value", value: T) => void);
}>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
