import { RawSignedModel } from './RawSignedModel'; import { IPrivateKey, ICardCrypto } from '../types'; import { IExtraData } from './ICard'; /** * Parameters for the card signature generation. */ export interface IRawSignParams { /** * The card to generate the signature for in the form of * {@link RawSignedModel} object. */ readonly model: RawSignedModel; /** * The private key to use to generate the signature. */ readonly signerPrivateKey: IPrivateKey; /** * Custom attributes to associate with the signature. If provided, these * will also be signed. */ readonly extraFields?: IExtraData; /** * Identifier of the signature. Default is "self". */ readonly signer?: string; } /** * Class responsible for generating signatures of the cards. */ export declare class ModelSigner { private readonly crypto; /** * Initializes a new instance of `ModelSigner`. * @param {ICardCrypto} crypto - Object implementing the * {@link ICardCrypto} interface. */ constructor(crypto: ICardCrypto); /** * Generates a new signature based on `rawParams`. * @param {IRawSignParams} rawParams */ sign(rawParams: IRawSignParams): void; private prepareParams; private validate; }