/// <reference types="node" />
import { Request } from 'express';
import { MActor } from '../types/models';
declare function createPrivateAndPublicKeys(): Promise<{
    privateKey: string;
    publicKey: string;
}>;
declare function comparePassword(plainPassword: string, hashPassword: string): Promise<boolean>;
declare function cryptPassword(password: string): Promise<string>;
declare function isHTTPSignatureDigestValid(rawBody: Buffer, req: Request): boolean;
declare function isHTTPSignatureVerified(httpSignatureParsed: any, actor: MActor): boolean;
declare function parseHTTPSignature(req: Request, clockSkew?: number): any;
declare function isJsonLDSignatureVerified(fromActor: MActor, signedDocument: any): Promise<boolean>;
declare function signJsonLDObject<T>(byActor: MActor, data: T): Promise<T & {
    signature: {
        type: string;
        creator: string;
        created: string;
    };
}>;
declare function buildDigest(body: any): string;
export { isHTTPSignatureDigestValid, parseHTTPSignature, isHTTPSignatureVerified, buildDigest, isJsonLDSignatureVerified, comparePassword, createPrivateAndPublicKeys, cryptPassword, signJsonLDObject };
//# sourceMappingURL=peertube-crypto.d.ts.map