import type { FmGroupModelValue } from './FmUnitInputProps'; import type { ValidationResult } from '@feedmepos/ui-library'; import type { FdoDecimal } from '@feedmepos/core/entity'; export declare function FmUnitInputAmountIsNumberRule(): (value: FmGroupModelValue) => true | "Must be a number"; export declare function FmUnitInputAmountAtLeastRule(minimum: number): (value: FmGroupModelValue) => string | true; export declare function FmUnitInputAmountMoreThanRule(minimum: number): (value: FmGroupModelValue) => string | true; export declare function FmUnitInputAmountAtMostRule(maximum: number): (value: FmGroupModelValue) => string | true; export declare function FmUnitInputMaxPrecisionRule(unit: FdoInventoryUnit, applyAmountRule?: boolean): (value: any) => ValidationResult; export declare function FmUnitInputMaxPrecisionRule(precision: number, applyAmountRule?: boolean): (value: any) => ValidationResult; export declare function FmUnitInputAmountMultipleOf(decimal: FdoDecimal): (value: FmGroupModelValue) => ValidationResult; /** * Validates the amount against a PO template item's minimum / maximum / step * through the shared dart-core validator, so the portal field, the mobile form * schema and the submit-time backend check apply one implementation with one * wording. Quantity 0 means "not ordering this line" and is exempt there. */ export declare function FmUnitInputAmountTemplateQuantity(templateItem: FdoPurchaseOrderTemplateItem): (value: FmGroupModelValue) => string | true;