import { PSSigParams } from 'crypto-wasm-new'; import { ISignatureParams, MessageStructure } from '../types'; /** * Modified Pointcheval-Sanders signature parameters used in `Coconut`. */ export declare class PSSignatureParams implements ISignatureParams { label?: Uint8Array; value: PSSigParams; constructor(params: PSSigParams, label?: Uint8Array); static generate(numMessages: number, label?: Uint8Array): PSSignatureParams; static generateAsBytes(numMessages: number, label?: Uint8Array): Uint8Array; toBytes(): Uint8Array; isValid(): boolean; static valueFromBytes(bytes: Uint8Array): PSSigParams; /** * Transform current signature params to sign a different number of messages. Needs the `label` field to be present * @param newMsgCount */ adapt(newMsgCount: number): this; /** * Gives `PSSignatureParams` that can sign `msgCount` number of messages. * @param msgCount * @param labelOrParams */ static getSigParamsOfRequiredSize(msgCount: number, labelOrParams: Uint8Array | PSSignatureParams): PSSignatureParams; static getSigParamsForMsgStructure(msgStructure: MessageStructure, labelOrParams: Uint8Array | PSSignatureParams): PSSignatureParams; /** * Produces a commitment for the given message using supplied blinding. * @param message * @param blinding * @param h */ messageCommitment(message: Uint8Array, blinding: Uint8Array, h: Uint8Array): Uint8Array; /** * Produces a multi message commitment for the given message using supplied blinding. * @param messages * @param h (from params) * @param blinding */ multiMessageCommitment(messages: Uint8Array[], h: Uint8Array[], blinding: Uint8Array): Uint8Array; /** * Number of messages that these params support and can be signed. If less or more messages are to be signed, use * `adapt` */ supportedMessageCount(): number; /** * Is message index valid as per the params * @param index */ isValidIndex(index: number): boolean; /** * Get params, i.e. generator from `this.value.h` for certain indices * @param indices */ getParamsForIndices(indices: number[]): Uint8Array[]; toJSON(): string; } //# sourceMappingURL=params.d.ts.map