/**
* Adapted from https://github.com/purescript/purescript-prelude/blob/master/src/Data/Field.purs
*
* @since 2.0.0
*/
import { Ring } from './Ring'
import { Eq } from './Eq'
/**
* @category model
* @since 2.0.0
*/
export interface Field extends Ring {
readonly degree: (a: A) => number
readonly div: (x: A, y: A) => A
readonly mod: (x: A, y: A) => A
}
/**
* The *greatest common divisor* of two values
*
* @since 2.0.0
*/
export declare function gcd(E: Eq, field: Field): (x: A, y: A) => A
/**
* The *least common multiple* of two values
*
* @since 2.0.0
*/
export declare function lcm(E: Eq, F: Field): (x: A, y: A) => A
/**
* Use [`Field`](./number.ts.html#field) instead.
*
* @category zone of death
* @since 2.0.0
* @deprecated
*/
export declare const fieldNumber: Field