import type { DeepReadonly, DeepReadonlyPartial } from '../../types/deep.js'; import type { Nullable } from '../../types/index.js'; import { ObjectOps } from './ops.js'; import type { AbsOptions, DELETE_TYPE, IObjectMath, NumKey, RoundOptions } from './types.js'; export declare class ObjectMath extends ObjectOps implements IObjectMath { private returnInfinityOnDivByEmpty; private divisionMethod; useInfinityOnDivByEmpty(enable: boolean): this; useDivisionMethod(method: RoundOptions | null): this; getTotal(o: Nullable>): number; contains(base: Nullable>, target: Nullable>): boolean; inverse(o: Nullable>): T; div(o1: Nullable>, o2: Nullable): T; div(o1: Nullable>, o2: Nullable>): number; process(o: Nullable>, processor: (val: number, key: NumKey) => number | DELETE_TYPE): T | null; abs(c: DeepReadonly, stripNegatives?: AbsOptions): T; abs(c: Nullable>, stripNegatives?: AbsOptions): T | null; round(c: DeepReadonly, method?: RoundOptions): T; round(c: Nullable>, method?: RoundOptions): T | null; calc(c1: Nullable>, c2: Nullable | number>, operator: (n: number, n2: number) => number): T; add(c1: Nullable>, c2: Nullable | number>): T; subtract(base: Nullable>, amount: Nullable | number>): T; multiply(c1: Nullable>, c2: Nullable | number>): T; protected getDivisionResult(dividend: number, divisor: number): number; }