import { Eq } from 'fp-ts/lib/Eq'; import { PropType, Ref, ComputedRef } from 'vue'; import { ColorVariant } from '../../types/ColorVariants'; import { SizeVariant } from '../../types/SizeVariants'; import { UseDisableProps } from '../disable'; import { UseLabelIdProps } from '../labelId'; import { UseModelProps } from '../model'; import { EqProps } from '../shared'; export declare function getUseSelectablePropsDefinition(): { isFocused: { type: PropType; default: boolean; }; onFocus: { type: PropType<(e?: Event | undefined) => void>; required: false; }; onBlur: { type: PropType<(e?: Event | undefined) => void>; required: false; }; focusOnMount: { type: PropType; default: boolean; }; labelFor: PropType; label: { type: PropType; default: string; }; isDisabled: { type: PropType; required: boolean; default: boolean; }; isReadonly: { type: PropType; required: boolean; default: boolean; }; disableIfReadonly: { type: PropType; required: boolean; default: boolean; }; modelValue: { type: PropType; required: false; }; 'onUpdate:modelValue': { type: PropType>; default: import("fp-ts/lib/function").Lazy>; }; eq: { type: PropType>; default: import("fp-ts/lib/function").Lazy>; }; nativeValue: { type: PropType; required: boolean; default: null; }; trueValue: { type: PropType; default: T; }; falseValue: { type: PropType; default: T; }; isIndeterminate: { type: PropType; default: boolean; }; isMultiple: { type: PropType; default: boolean; }; variant: { type: PropType; default: ColorVariant; }; size: { type: PropType; default: SizeVariant; }; isRequired: { type: PropType; default: boolean; }; name: { type: PropType; required: boolean; }; }; export declare type UseSelectableProps = { nativeValue: unknown; trueValue: T; falseValue: T; indeterminateValue?: T; isMultiple: boolean; variant: ColorVariant; size: SizeVariant; isRequired: boolean; isIndeterminate: boolean; name?: string; } & EqProps & UseModelProps & UseDisableProps & UseLabelIdProps; export declare function useSelectionControl(props: UseSelectableProps, ref: Ref, role: string, type: string): { isDisabled: Ref; isMultiple: ComputedRef; isActive: ComputedRef; attrs: ComputedRef<{ role: string; type: string; id: string; name: string | undefined; checked: boolean; 'aria-checked': boolean; 'aria-disabled': boolean; 'aria-labelledby': string; tabindex: number; readonly: boolean; disabled: boolean; required: boolean; indeterminate: boolean | undefined; value: string; 'true-value': string; 'false-value': string; }>; onChange: () => void; onKeydown: (e: KeyboardEvent) => void; onClick: () => void; label: { id: ComputedRef; labelId: ComputedRef; label: Ref; }; isFocused: Ref; focus: (e?: Event | undefined) => void; onFocus: (e?: Event | undefined) => void; onBlur: (e?: Event | undefined) => void; modelValue: Ref; }; export declare type SelectionControl = ReturnType;