/**
 * Number input field with increment/decrement buttons, validation, and min/max constraints.
 *
 * @example
 * <PlNumberField v-model="price" :step="0.01" :min-value="0" label="Price" />
 *
 * @example
 * <PlNumberField
 *   v-model="evenNumber"
 *   :validate="(v) => v % 2 !== 0 ? 'Number must be even' : undefined"
 *   label="Even Number"
 * />
 */
declare const _default: <R extends true | false, V extends undefined | number, C extends Exclude<V, R extends true ? undefined : never>>(__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: V) => any) | undefined;
        readonly onFocus?: ((value: V) => any) | undefined;
        readonly "onUpdate:modelValue"?: ((value: V) => any) | undefined;
        readonly onEnter?: ((value: V) => any) | undefined;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onFocus" | "onBlur" | "onUpdate:modelValue" | "onEnter"> & ({
        modelValue: V;
    } & {
        /** If `true`, the field is required and will show an error if left empty. */
        required?: R;
        /** Label on the top border of the field, empty by default */
        label?: string;
        /** Input placeholder, empty by default */
        placeholder?: string;
        /** Step for increment/decrement buttons, 1 by default */
        step?: number;
        /** If defined - show an error if value is lower  */
        minValue?: number;
        /** If defined - show an error if value is higher */
        maxValue?: number;
        /** Input is disabled if true */
        disabled?: boolean;
        /** If true - remove buttons on the right */
        disableSteps?: boolean;
        /** Error message that shows always when it's provided, without other checks */
        errorMessage?: string;
        /** Additional validity check for input value that must return an error text if failed */
        validate?: (v: number) => string | undefined;
        /** If `true`, shows a clear button that resets value to `undefined`. If a function, calls it to get the reset value. */
        clearable?: (R extends true ? never : boolean) | (() => C);
        /** Makes some of corners not rounded */
        groupPosition?: "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "middle";
    }) & Partial<{}>> & import('vue').PublicProps;
    expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: {
        tooltip?(_: {}): any;
    };
    emit: (((evt: "blur", value: V) => void) & ((evt: "focus", value: V) => void) & ((evt: "enter", value: V) => void)) & ((evt: "update:modelValue", value: V) => void);
}>) => import('vue').VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
//# sourceMappingURL=PlNumberField.vue.d.ts.map