import { EdwardsPoint } from "./rust_vrf_reimpl/curves.js"; import { IVrfProof03 } from "./rust_vrf_reimpl/vrf03.js"; import { IVrfProof10 } from "./rust_vrf_reimpl/vrf10.js"; import { IVrfBatchProof10 } from "./rust_vrf_reimpl/vrf10_batch.js"; export declare class VrfProof03 implements IVrfProof03 { readonly gamma: EdwardsPoint; readonly challenge: Uint8Array; readonly response: Uint8Array; constructor({ gamma, challenge, response }: IVrfProof03); toHash(): Uint8Array & { length: 64; }; static generate(secret_key: Uint8Array, public_key: Uint8Array, alpha_string: Uint8Array): VrfProof03; static verify(public_key: Uint8Array, alpha_string: Uint8Array, proof: IVrfProof03): boolean; verify(public_key: Uint8Array, alpha_string: Uint8Array): boolean; toBytes(): Uint8Array & { length: 80; }; static fromBytes(bytes: Uint8Array): VrfProof03; } export declare function derive_vrf10_public_key(secret_key: Uint8Array): Uint8Array; export declare class VrfProof10 implements IVrfProof10 { readonly gamma: EdwardsPoint; readonly challenge: Uint8Array; readonly response: Uint8Array; constructor({ gamma, challenge, response }: IVrfProof10); toHash(): Uint8Array & { length: 64; }; static generate(secret_key: Uint8Array, public_key: Uint8Array, alpha_string: Uint8Array): VrfProof10; static verify(public_key: Uint8Array, alpha_string: Uint8Array, proof: IVrfProof10): boolean; verify(public_key: Uint8Array, alpha_string: Uint8Array): boolean; toBytes(): Uint8Array & { length: 80; }; static fromBytes(bytes: Uint8Array): VrfProof10; } export declare class VrfBatchProof10 implements IVrfBatchProof10 { readonly gamma: EdwardsPoint; readonly u_point: EdwardsPoint; readonly v_point: EdwardsPoint; readonly response: Uint8Array; constructor({ gamma, u_point, v_point, response }: IVrfBatchProof10); toHash(): Uint8Array & { length: 64; }; static generate(secret_key: Uint8Array, public_key: Uint8Array, alpha_string: Uint8Array): VrfBatchProof10; static verify(public_key: Uint8Array, alpha_string: Uint8Array, proof: IVrfBatchProof10): boolean; verify(public_key: Uint8Array, alpha_string: Uint8Array): boolean; toBytes(): Uint8Array & { length: 128; }; static fromBytes(bytes: Uint8Array): VrfBatchProof10; } export interface IBatchItem { proof: VrfBatchProof10; /** in rust called "key" */ public_key: Uint8Array; /** in rust called "msg" */ alpha: Uint8Array; } export declare class VrfBatchVerifier { readonly size: number; readonly proof_scalars: [Uint8Array, Uint8Array][]; readonly pks: EdwardsPoint[]; readonly us: EdwardsPoint[]; readonly hs: EdwardsPoint[]; readonly gammas: EdwardsPoint[]; readonly vs: EdwardsPoint[]; private _currLen; constructor(size: number); insert(item: IBatchItem): void; verify(): boolean; }