import type { TypedFunction } from '../core/function/typed.js'; import type { ConfigOptions } from '../core/config.js'; interface BigNumberType { isInt(): boolean; isZero(): boolean; lt(other: BigNumberType): boolean; neg(): BigNumberType; div(other: BigNumberType): BigNumberType; mod(other: BigNumberType): BigNumberType; floor(): BigNumberType; minus(other: BigNumberType): BigNumberType; times(other: BigNumberType): BigNumberType; } interface BigNumberConstructor { new (value: number): BigNumberType; } interface FractionType { isInteger(): boolean; isZero(): boolean; lessThan(other: FractionType): boolean; negate(): FractionType; divide(other: FractionType | number): FractionType; mod(other: FractionType): FractionType; floor(): FractionType; subtract(other: FractionType | number): FractionType; multiply(other: FractionType | number): FractionType; } interface FractionConstructor { new (numerator: number | bigint, denominator?: number | bigint): FractionType; } interface XgcdDependencies { typed: TypedFunction; config: ConfigOptions; matrix: (arr: unknown[]) => unknown; BigNumber: BigNumberConstructor; Fraction?: FractionConstructor; } export declare const createXgcd: import("../utils/factory.js").FactoryFunction; export {}; //# sourceMappingURL=xgcd.d.ts.map