import { Decimal } from 'decimal.js';
export declare class ComplexDecimal {
    re: Decimal;
    im: Decimal;
    cl: 'decimal' | 'logical';
    static mapFunction: {
        [name: string]: Function;
    };
    static twoArgFunction: {
        [name: string]: Function;
    };
    constructor(re: number | string | Decimal, im: number | string | Decimal, cl?: 'decimal' | 'logical');
    static set(config?: Decimal.Config): void;
    static isThis(obj: any): boolean;
    static newThis(re: number | string | Decimal, im: number | string | Decimal, cl?: 'decimal' | 'logical'): ComplexDecimal;
    static parse(value: string): ComplexDecimal;
    static unparseDecimal(value: Decimal): string;
    static unparse(value: ComplexDecimal): string;
    static unparseDecimalML(value: Decimal): string;
    static unparseML(value: ComplexDecimal): string;
    static clone(value: ComplexDecimal): ComplexDecimal;
    static cast(value: ComplexDecimal, cl?: 'decimal' | 'logical'): ComplexDecimal;
    static toMaxPrecisionDecimal(value: Decimal): Decimal;
    static toMaxPrecision(value: ComplexDecimal): ComplexDecimal;
    static epsilonDecimal(): Decimal;
    static epsilon(): ComplexDecimal;
    static min(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static max(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static eq(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static ne(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static cmp(cmp: 'lt' | 'lte' | 'gt' | 'gte', left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static lt(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static lte(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static gte(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static gt(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static false(): ComplexDecimal;
    static true(): ComplexDecimal;
    static toLogical(value: ComplexDecimal): ComplexDecimal;
    static and(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static or(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static not(right: ComplexDecimal): ComplexDecimal;
    static zero(): ComplexDecimal;
    static one(): ComplexDecimal;
    static onediv2(): ComplexDecimal;
    static minusonediv2(): ComplexDecimal;
    static minusone(): ComplexDecimal;
    static pi(): ComplexDecimal;
    static pidiv2(): ComplexDecimal;
    static onei(): ComplexDecimal;
    static onediv2i(): ComplexDecimal;
    static minusonediv2i(): ComplexDecimal;
    static minusonei(): ComplexDecimal;
    static two(): ComplexDecimal;
    static sqrt2pi(): ComplexDecimal;
    static e(): ComplexDecimal;
    static NaN_0(): ComplexDecimal;
    static inf_0(): ComplexDecimal;
    static add(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static sub(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static neg(z: ComplexDecimal): ComplexDecimal;
    static mul(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static rdiv(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static inv(right: ComplexDecimal): ComplexDecimal;
    static ldiv(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static pow(left: ComplexDecimal, right: ComplexDecimal): ComplexDecimal;
    static root(x: ComplexDecimal, y: ComplexDecimal): ComplexDecimal;
    static abs(z: ComplexDecimal): ComplexDecimal;
    static arg(z: ComplexDecimal): ComplexDecimal;
    static conj(z: ComplexDecimal): ComplexDecimal;
    static fix(z: ComplexDecimal): ComplexDecimal;
    static ceil(z: ComplexDecimal): ComplexDecimal;
    static floor(z: ComplexDecimal): ComplexDecimal;
    static round(z: ComplexDecimal): ComplexDecimal;
    static sign(z: ComplexDecimal): ComplexDecimal;
    static sqrt(z: ComplexDecimal): ComplexDecimal;
    static exp(z: ComplexDecimal): ComplexDecimal;
    static log(z: ComplexDecimal): ComplexDecimal;
    static logbl(b: ComplexDecimal, l: ComplexDecimal): ComplexDecimal;
    static log10(z: ComplexDecimal): ComplexDecimal;
    static sin(z: ComplexDecimal): ComplexDecimal;
    static cos(z: ComplexDecimal): ComplexDecimal;
    static tan(z: ComplexDecimal): ComplexDecimal;
    static csc(z: ComplexDecimal): ComplexDecimal;
    static sec(z: ComplexDecimal): ComplexDecimal;
    static cot(z: ComplexDecimal): ComplexDecimal;
    static asin(z: ComplexDecimal): ComplexDecimal;
    static acos(z: ComplexDecimal): ComplexDecimal;
    static atan(z: ComplexDecimal): ComplexDecimal;
    static acsc(z: ComplexDecimal): ComplexDecimal;
    static asec(z: ComplexDecimal): ComplexDecimal;
    static acot(z: ComplexDecimal): ComplexDecimal;
    static sinh(z: ComplexDecimal): ComplexDecimal;
    static cosh(z: ComplexDecimal): ComplexDecimal;
    static tanh(z: ComplexDecimal): ComplexDecimal;
    static csch(z: ComplexDecimal): ComplexDecimal;
    static sech(z: ComplexDecimal): ComplexDecimal;
    static coth(z: ComplexDecimal): ComplexDecimal;
    static asinh(z: ComplexDecimal): ComplexDecimal;
    static acosh(z: ComplexDecimal): ComplexDecimal;
    static atanh(z: ComplexDecimal): ComplexDecimal;
    static acsch(z: ComplexDecimal): ComplexDecimal;
    static asech(z: ComplexDecimal): ComplexDecimal;
    static acoth(z: ComplexDecimal): ComplexDecimal;
    /**
     * -- gamma (Z)
     * Compute the Gamma function.
     * The Gamma function is defined as
     *                   infinity
     *                  /
     *      gamma (z) = | t^(z-1) exp (-t) dt.
     *                  /
     *               t=0
     * https://rosettacode.org/wiki/Gamma_function#JavaScript
     * https://en.wikipedia.org/wiki/Lanczos_approximation
     * https://math.stackexchange.com/questions/19236/algorithm-to-compute-gamma-function
     * https://en.wikipedia.org/wiki/Gamma_function#Stirling's_formula
     * https://mathworld.wolfram.com/GammaFunction.html
     * https://www.geeksforgeeks.org/gamma-function/
     * https://octave.org/doxygen/dev/d0/d77/gamma_8f_source.html
     * @param z
     * @returns
     */
    static gamma(z: ComplexDecimal): ComplexDecimal;
    static factorial(x: ComplexDecimal): ComplexDecimal;
}
