import { Natural } from './Natural';
import { Option } from 'fp-ts/lib/Option';
import { Setoid } from 'fp-ts/lib/Setoid';
import { Ord } from 'fp-ts/lib/Ord';
import { Rational } from './Rational';
export declare type PositiveRational = [Natural, Natural];
export declare function fromRational(r: Rational): Option<PositiveRational>;
export declare const reduce: (n: Natural, d: Natural) => PositiveRational;
export declare const add: (x: PositiveRational, y: PositiveRational) => PositiveRational;
export declare const mul: (x: PositiveRational, y: PositiveRational) => PositiveRational;
export declare const one: PositiveRational;
export declare function sub(x: PositiveRational, y: PositiveRational): Option<PositiveRational>;
export declare const div: (x: PositiveRational, y: PositiveRational) => PositiveRational;
export declare const inverse: (x: PositiveRational) => PositiveRational;
export declare const setoid: Setoid<PositiveRational>;
export declare const ord: Ord<PositiveRational>;
export declare const show: (x: PositiveRational) => string;
