import { Ref } from 'vue';
import { PrimitiveProps } from 'radix-vue';
import { Direction } from '../../../shared';
export interface AreaRootProps extends PrimitiveProps {
/** The value of the slider when initially rendered. Use when you do not need to control the state of the slider. */
defaultValue?: number[];
/** The controlled value of the slider. Can be bind as `v-model`. */
modelValue?: number[];
/** When `true`, prevents the user from interacting with the slider. */
disabled?: boolean;
/** The reading direction of the combobox when applicable. If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */
dir?: Direction;
/** The minimum [X,Y] value for the range. */
min?: number[];
/** The maximum [X,Y] value for the range. */
max?: number[];
}
export type AreaRootEmits = {
/**
* Event handler called when the slider value changes
*/
"update:modelValue": [payload: number[] | undefined];
/**
* Event handler called when the value changes at the end of an interaction.
*
* Useful when you only need to capture a final value e.g. to update a backend service.
*/
valueCommit: [payload: number[]];
};
export type AreaRootProvider = {
modelValue?: Readonly>;
thumbElements: Ref;
minX: Ref;
maxX: Ref;
minY: Ref;
maxY: Ref;
disabled: Ref;
};
declare const _default: __VLS_WithTemplateSlots, {
min: () => number[];
max: () => number[];
dir: string;
disabled: boolean;
defaultValue: () => number[];
}>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
"update:modelValue": (payload: number[] | undefined) => void;
valueCommit: (payload: number[]) => void;
}, string, import('vue').PublicProps, Readonly, {
min: () => number[];
max: () => number[];
dir: string;
disabled: boolean;
defaultValue: () => number[];
}>>> & {
"onUpdate:modelValue"?: ((payload: number[] | undefined) => any) | undefined;
onValueCommit?: ((payload: number[]) => any) | undefined;
}, {
defaultValue: number[];
disabled: boolean;
dir: Direction;
min: number[];
max: number[];
}, {}>, {
default?(_: {
modelValue: number[];
}): any;
}>;
export default _default;
type __VLS_NonUndefinedable = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps = {
[K in keyof T]-?: {} extends Pick ? {
type: import('vue').PropType<__VLS_NonUndefinedable>;
} : {
type: import('vue').PropType;
required: true;
};
};
type __VLS_WithDefaults
= {
[K in keyof Pick
]: K extends keyof D ? __VLS_Prettify
: P[K];
};
type __VLS_Prettify = {
[K in keyof T]: T[K];
} & {};
type __VLS_WithTemplateSlots = T & {
new (): {
$slots: S;
};
};