/// <reference types="node" />
interface UShare {
    i: string;
    y: string;
    u: string;
    prefix: string;
}
interface YShare {
    i: string;
    j: string;
    y: string;
    u: string;
}
export interface KeyShare {
    uShare: UShare;
    yShares: Record<string, YShare>;
}
export interface PShare {
    i: string;
    x: string;
    y: string;
    prefix: string;
}
export interface JShare {
    i: string;
    j: string;
}
interface KeyCombine {
    pShare: PShare;
    jShares: Record<string, JShare>;
}
export interface XShare {
    i: string;
    y: string;
    x: string;
    r: string;
    R: string;
}
export interface RShare {
    i: string;
    j: string;
    r: string;
    R: string;
}
export interface SignShare {
    xShare: XShare;
    rShares: Record<string, RShare>;
}
export interface GShare {
    i: string;
    y: string;
    gamma: string;
    R: string;
}
interface Signature {
    y: string;
    R: string;
    sigma: string;
}
declare const Eddsa: () => Promise<{
    keyShare: (index: number, threshold: number, numShares: number) => KeyShare;
    keyCombine: (uShare: UShare, distributedShares: YShare[]) => KeyCombine;
    signShare: (message: Buffer, pShare: PShare, jShares: JShare[]) => SignShare;
    sign: (message: Buffer, playerShare: XShare, distributedShares: RShare[]) => GShare;
    signCombine: (shares: GShare[]) => Signature;
    verify: (message: Buffer, signature: Signature) => Buffer;
}>;
export default Eddsa;
//# sourceMappingURL=tss.d.ts.map