import { AsyncCookieInterface, BaseEcnryptStorageOptions, GetFromPatternOptions, RemoveFromPatternOptions } from "../@types/common.mjs"; import { AsyncEncryptStorageTTLInterface, RefreshTTLParams, SetTTLItemParams, TTLMetadata } from "../@types/ttl.mjs"; import { EncryptStorageCryptoWebApiInterface } from "../@types/encrypt-storage-web-api.mjs"; //#region src/classes/encrypt-storage-web-api.d.ts declare class EncryptStorageWebApi implements EncryptStorageCryptoWebApiInterface, AsyncEncryptStorageTTLInterface { #private; readonly api: "web-crypto"; cookie: AsyncCookieInterface; /** * EncryptStorage provides a wrapper implementation of `localStorage` and `sessionStorage` for a better security solution in browser data store * * @param {string} secretKey - A secret to encrypt data must be contain min of 10 characters * @param {AsyncEncryptStorageOptions} [options] - Settings to set encryptData or select `sessionStorage` to browser storage */ constructor(secretKey: string, options?: BaseEcnryptStorageOptions); get storage(): Storage; get length(): number; setItem(key: string, value: any, doNotEncrypt?: boolean): Promise; setMultipleItems(param: [string, any][], doNotEncrypt?: boolean): Promise; getItem(key: string, doNotDecrypt?: boolean): Promise; getMultipleItems(keys: string[], doNotDecrypt?: boolean): Promise>; removeItem(key: string): void; removeMultipleItems(keys: string[]): void; removeItemFromPattern(pattern: string, options?: RemoveFromPatternOptions): void; getItemFromPattern(pattern: string, options?: GetFromPatternOptions): Promise | undefined>; clear(): void; key(index: number): string | null; encryptValue(value: any): Promise; decryptValue(value: string): Promise; hash(value: string): Promise; setTTL({ key, value, ttl, doNotEncrypt }: SetTTLItemParams): Promise; getTTL(key: string, doNotDecrypt?: boolean): Promise; hasTTL(key: string): Promise; getTTLMetadata(key: string): Promise; getRemainingTTL(key: string): Promise; refreshTTL({ key, ttl }: RefreshTTLParams): Promise; removeTTL(key: string): Promise; hasExpired(key: string): Promise; } //#endregion export { EncryptStorageWebApi }; //# sourceMappingURL=encrypt-storage-web-api.d.mts.map