import type { KeyValueStorage } from './KeyValueStorage';
import { PassthroughKeyValueStorage } from './PassthroughKeyValueStorage';
/**
 * Encodes the input key with SHA-256 hashing,
 * to make sure there are no invalid or special path characters.
 *
 * This class was created specifically to prevent the issue of identifiers being too long when storing data:
 * https://github.com/CommunitySolidServer/CommunitySolidServer/issues/1013
 *
 * This should eventually be replaced by a more structural approach once internal storage has been refactored
 * and data migration from older versions and formats is supported.
 */
export declare class HashEncodingStorage<T> extends PassthroughKeyValueStorage<T> {
    protected readonly logger: import("global-logger-factory").Logger<unknown>;
    constructor(source: KeyValueStorage<string, T>);
    protected toNewKey(key: string): string;
    protected toOriginalKey(): string;
}
