import type { FdoDecimal } from '@feedmepos/core/entity';
import type { FmMenuProps, FmTextFieldProps, ValidationResult } from '@feedmepos/ui-library';
type FmTextFieldWithoutModelValue = Omit<FmTextFieldProps, 'modelValue' | 'rules'>;
export interface FmUnitInputProps extends FmTextFieldWithoutModelValue {
    modelValue: FmUnitInputModel;
    unit: FdoInventoryUnit;
    rules?: (((value: FmGroupModelValue) => ValidationResult) | ValidationResult)[];
    zIndex?: number;
    applyDefaultRules?: boolean;
    placement?: FmMenuProps['placement'];
    separator?: string;
    precision?: number;
    convertAmountOnChangeUnit?: boolean;
    formatMinimumPrecision?: number;
    disableUnit?: boolean;
    stepperOnly?: boolean;
    stepper?: FdoDecimal | null;
}
export interface FmUnitInputEvents {
    (event: 'update:amount', amount: string): void;
    (event: 'update:measurement', measurement?: FdoUnitMeasurement | null): void;
}
export interface FmUnitInputModel {
    amount: FdoDecimal;
    measurement?: FdoUnitMeasurement | null;
}
export interface FmUnitInputSlots {
    prepend(): void;
    append(): void;
}
export declare function FmUnitInputModelDefault(): FmUnitInputModel;
export interface FmGroupModelValue {
    modelValue: FmUnitInputModel;
    amountAsString: string;
}
export {};
