import type { Add } from "./add"; import type { Subtract } from "./subtract"; import type { BGreaterThanA } from "../logic/bGreaterThanA"; export type Divide = A extends 0 ? never : B extends 0 ? never : `${A}` extends `-${infer N extends number}` ? `${B}` extends `-${infer M extends number}` ? DivideHelper : `-${DivideHelper}` extends `${infer R extends number}` ? R : never : `${B}` extends `-${infer M extends number}` ? `-${DivideHelper}` extends `${infer R extends number}` ? R : never : DivideHelper; export type DivideHelper = BGreaterThanA extends true ? A : DivideHelper, Y, Add>;