import type { SliderRootProps } from 'reka-ui';
import type { AppConfig } from '@nuxt/schema';
import theme from '#build/b24ui/range';
import type { ComponentConfig } from '../types/utils';
type Range = ComponentConfig<typeof theme, AppConfig, 'range'>;
export interface RangeProps extends Pick<SliderRootProps, 'name' | 'disabled' | 'inverted' | 'min' | 'max' | 'step' | 'minStepsBetweenThumbs'> {
    /**
     * The element or component this component should render as.
     * @defaultValue 'div'
     */
    as?: any;
    /**
     * @defaultValue 'md'
     */
    size?: Range['variants']['size'];
    /**
     * @defaultValue 'primary'
     */
    color?: Range['variants']['color'];
    /**
     * The orientation of the Range.
     * @defaultValue 'horizontal'
     */
    orientation?: SliderRootProps['orientation'];
    /**
     * The value of the Range when initially rendered. Use when you do not need to control the state of the Range
     */
    defaultValue?: number | number[];
    class?: any;
    b24ui?: Range['slots'];
}
export interface RangeEmits {
    (e: 'update:modelValue', payload: number | number[]): void;
    (e: 'change', payload: Event): void;
}
declare const _default: import("vue").DefineComponent<RangeProps & {
    modelValue?: number | number[];
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:modelValue": (value: number | number[] | undefined) => any;
} & {
    change: (payload: Event) => any;
    "update:modelValue": (payload: number | number[]) => any;
}, string, import("vue").PublicProps, Readonly<RangeProps & {
    modelValue?: number | number[];
}> & Readonly<{
    onChange?: ((payload: Event) => any) | undefined;
    "onUpdate:modelValue"?: ((payload: number | number[]) => any) | undefined;
}>, {
    orientation: "horizontal" | "vertical";
    step: number;
    max: number;
    min: number;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
export default _default;
