/**
 * JSON-serializable representation of Virgil Card as it is stored in the
 * Virgil Cards Service.
 */
export interface IRawSignedModelJson {
    /**
     * The signatures of this card's `content_snapshot`.
     */
    readonly signatures: IRawSignature[];
    /**
     * The snapshot of this card's contents as a string in base64 encoding.
     */
    readonly content_snapshot: string;
}
/**
 * JSON-serializable representation of the Virgil Card's signature as it is
 * stored in the Virgil Cards Service..
 */
export interface IRawSignature {
    /**
     * The signer identifier.
     */
    readonly signer: string;
    /**
     * The signature bytes as a string in base64 encoding.
     */
    readonly signature: string;
    /**
     * The snapshot of additional attributes associated with the signature
     * as a string in base64 encoding.
     */
    readonly snapshot?: string;
}
/**
 * Intermediate representation of the Virgil Card with `contentSnapshot`
 * and `snapshot`s of the signatures in UTF-8.
 */
export declare class RawSignedModel {
    readonly contentSnapshot: string;
    readonly signatures: IRawSignature[];
    /**
     * Converts the `str` in base64 encoding into a `RawSignedModel` object.
     *
     * @param {string} str - Base64 string representation of the card as
     * returned by {@RawSignedModel.toString} method.
     *
     * @returns {RawSignedModel}
     */
    static fromString(str: string): RawSignedModel;
    /**
     * Converts the `json` serializable object into a `RawSignedModel` object.
     * @param {IRawSignedModelJson} json - JSON-serializable object returned by
     * {@link RawSignedModel.toJson} method.
     * @returns {RawSignedModel}
     */
    static fromJson(json: IRawSignedModelJson): RawSignedModel;
    /**
     * Initializes a new instance of `RawSignedModel`.
     * @param {string} contentSnapshot - The content snapshot in UTF-8.
     * @param {IRawSignature[]} signatures - The signatures. If signatures
     * themselves have snapshots, those must also be in UTF-8.
     */
    constructor(contentSnapshot: string, signatures: IRawSignature[]);
    /**
     * This is to make it work with `JSON.stringify`, calls
     * {@link RawSignedModel.toJson} under the hood.
     * @returns {IRawSignedModelJson}
     */
    toJSON(): IRawSignedModelJson;
    /**
     * Returns a JSON-serializable representation of this model in the
     * format it is stored in the Virgil Cards Service. (i.e. with
     * `contentSnapshot` and `snapshot`s of the signatures as base64 encoded
     * strings.
     * @returns {IRawSignedModelJson}
     */
    toJson(): IRawSignedModelJson;
    /**
     * Serializes this model to string in base64 encoding.
     * @returns {string}
     */
    toString(): string;
    /**
     * Same as {@link RawSignedModel.toJson}. Please use that instead.
     * @returns {IRawSignedModelJson}
     */
    exportAsJson(): IRawSignedModelJson;
    /**
     * Same as {@link RawSignedModel.toString}. Please use that instead.
     * @returns {string}
     */
    exportAsString(): string;
}
