export = ShortCurve;
declare function ShortCurve(conf: any): void;
declare class ShortCurve {
    constructor(conf: any);
    a: any;
    b: any;
    tinv: any;
    zeroA: boolean;
    threeA: boolean;
    endo: {
        beta: any;
        lambda: any;
        basis: any;
    } | undefined;
    _endoWnafT1: any[];
    _endoWnafT2: any[];
    _getEndomorphism(conf: any): {
        beta: any;
        lambda: any;
        basis: any;
    } | undefined;
    _getEndoRoots(num: any): any[];
    _getEndoBasis(lambda: any): {
        a: any;
        b: any;
    }[];
    _endoSplit(k: any): {
        k1: any;
        k2: any;
    };
    pointFromX(x: any, odd: any): Point;
    validate(point: any): boolean;
    _endoWnafMulAdd(points: any, coeffs: any, jacobianResult: any): any;
    point(x: any, y: any, isRed: any): Point;
    pointFromJSON(obj: any, red: any): any;
    jpoint(x: any, y: any, z: any): JPoint;
}
declare function Point(curve: any, x: any, y: any, isRed: any): void;
declare class Point {
    constructor(curve: any, x: any, y: any, isRed: any);
    x: any;
    y: any;
    inf: boolean;
    _getBeta(): any;
    toJSON(): any[];
    inspect(): string;
    isInfinity(): boolean;
    add(p: any): any;
    dbl(): any;
    getX(): any;
    getY(): any;
    mul(k: any): any;
    mulAdd(k1: any, p2: any, k2: any): any;
    jmulAdd(k1: any, p2: any, k2: any): any;
    eq(p: any): boolean;
    neg(_precompute: any): any;
    toJ(): any;
}
declare namespace Point {
    function fromJSON(curve: any, obj: any, red: any): any;
}
declare function JPoint(curve: any, x: any, y: any, z: any): void;
declare class JPoint {
    constructor(curve: any, x: any, y: any, z: any);
    x: any;
    y: any;
    z: any;
    zOne: boolean;
    toP(): any;
    neg(): any;
    add(p: any): any;
    mixedAdd(p: any): any;
    dblp(pow: any): any;
    dbl(): any;
    _zeroDbl(): any;
    _threeDbl(): any;
    _dbl(): any;
    trpl(): any;
    mul(k: any, kbase: any): any;
    eq(p: any): any;
    eqXToP(x: any): boolean;
    inspect(): string;
    isInfinity(): boolean;
}
