import { IAsymmetricEncryptionType, IDecryptOptions, IEncryptOptions, IHashType, ISymmetricEncryptionType, } from './constants'; import { IAsymmetricEncryptOptions, IHashOptions, ISymmetricEncryptOptions, } from './index'; export interface ISecurityService { config: any; encrypt(value: any, options?: IEncryptOptions): Promise; decrypt(value: string, options?: IDecryptOptions): Promise; encryptSymmetric(value: any, encryptionType?: ISymmetricEncryptionType, key?: string): Promise; decryptSymmetric(value: string, encryptionType?: ISymmetricEncryptionType, key?: string): Promise; encryptAsymmetric(value: any, publicKey?: string, encryptionType?: IAsymmetricEncryptionType): Promise; decryptAsymmetric(value: string, privateKey?: string, encryptionType?: IAsymmetricEncryptionType): Promise; getHash(value: any, hashType?: IHashType, secret?: string, autoSalt?: boolean, salt?: string): Promise; compareHash(value: any, hash: string, hashType?: IHashType, secret?: string): Promise; secureCompare(a: string, b: string, options: IEncryptOptions): Promise; getPublicKeyForIdentity(identity: string): string; getPrivateKeyForIdentity(identity: string): string; }