import { default as TxScrubField } from './src/TxScrubField.vue';
/**
* TxScrubField — a compact numeric field whose caption is a drag handle:
* scrub it sideways, step it with the arrow keys, or type the number.
*
* Deliberately not a `TxSlider` variant — a slider maps a pointer position onto
* a track, this maps pointer *travel* onto steps and has no track at all.
*
* @example
* ```ts
* import { TxScrubField } from '@talex-touch/tuffex'
*
* //
* ```
*
* @public
*/
declare const ScrubField: {
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins & Readonly<{
onChange?: ((value: number) => any) | undefined;
"onUpdate:modelValue"?: ((value: number) => any) | undefined;
onScrubStart?: (() => any) | undefined;
onScrubEnd?: (() => any) | undefined;
}>, {
focus: () => void | undefined;
focusInput: () => void | undefined;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
change: (value: number) => any;
"update:modelValue": (value: number) => any;
scrubStart: () => any;
scrubEnd: () => any;
}, import('vue').PublicProps, {
ariaLabel: string;
active: boolean;
disabled: boolean;
step: number;
suffix: string;
pixelsPerStep: number;
shiftMultiplier: number;
clampOn: "input" | "blur";
valueLabel: string;
}, false, {}, {}, Record, Record, string, {
handleRef: HTMLSpanElement;
inputRef: HTMLInputElement;
}, HTMLLabelElement, import('vue').ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly & Readonly<{
onChange?: ((value: number) => any) | undefined;
"onUpdate:modelValue"?: ((value: number) => any) | undefined;
onScrubStart?: (() => any) | undefined;
onScrubEnd?: (() => any) | undefined;
}>, {
focus: () => void | undefined;
focusInput: () => void | undefined;
}, {}, {}, {}, {
ariaLabel: string;
active: boolean;
disabled: boolean;
step: number;
suffix: string;
pixelsPerStep: number;
shiftMultiplier: number;
clampOn: "input" | "blur";
valueLabel: string;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import('vue').ComponentOptionsBase & Readonly<{
onChange?: ((value: number) => any) | undefined;
"onUpdate:modelValue"?: ((value: number) => any) | undefined;
onScrubStart?: (() => any) | undefined;
onScrubEnd?: (() => any) | undefined;
}>, {
focus: () => void | undefined;
focusInput: () => void | undefined;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
change: (value: number) => any;
"update:modelValue": (value: number) => any;
scrubStart: () => any;
scrubEnd: () => any;
}, string, {
ariaLabel: string;
active: boolean;
disabled: boolean;
step: number;
suffix: string;
pixelsPerStep: number;
shiftMultiplier: number;
clampOn: "input" | "blur";
valueLabel: string;
}, {}, string, {}, Record, Record, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & import('vue').Plugin;
export { ScrubField, TxScrubField };
export type { ScrubFieldEmits, ScrubFieldProps } from './src/types';
export type TxScrubFieldInstance = InstanceType;
export default ScrubField;