import { Group } from './group.js';
export declare class WeierstrassGroup extends Group {
    readonly name: string;
    readonly p: bigint;
    readonly a: bigint;
    readonly b: bigint;
    readonly order: bigint;
    readonly gen: [bigint, bigint];
    readonly _brandWeierstrassGroup = "";
    constructor(name: string, p: bigint, a: bigint, b: bigint, order: bigint, gen: [bigint, bigint]);
    identity(): WeierstrassPoint;
    generator(): WeierstrassPoint;
    isOnGroup(pt: WeierstrassPoint): boolean;
    sizePointBytes(): number;
    deserializePoint(a: Uint8Array): WeierstrassPoint;
}
export declare class WeierstrassPoint extends Group.Point {
    readonly _brandWeierstrassPoint = "";
    readonly group: WeierstrassGroup;
    x: bigint;
    y: bigint;
    z: bigint;
    constructor(g: WeierstrassGroup, x: bigint, y: bigint, z?: bigint);
    toString(): string;
    isIdentity(): boolean;
    eq(pt: this): boolean;
    neg(): this;
    dbl(): this;
    add(pt: this): this;
    toAffine(): {
        x: bigint;
        y: bigint;
    } | false;
    toBytes(): Uint8Array;
    protected afterJson(): void;
}
//# sourceMappingURL=weier.d.ts.map