import { DefaultAssetNamingStrategy, RequestContext } from '@ishop/core'; /** * @description * An extension of the {@link DefaultAssetNamingStrategy} which prefixes file names with * the type (`'source'` or `'preview'`) as well as a 2-character sub-directory based on * the md5 hash of the original file name. * * This is an implementation of the technique knows as "hashed directory" file storage, * and the purpose is to reduce the number of files in a single directory, since a very large * number of files can lead to performance issues when reading and writing to that directory. * * With this strategory, even with 200,000 total assets stored, each directory would * only contain less than 800 files. * * @docsCategory AssetServerPlugin */ export declare class HashedAssetNamingStrategy extends DefaultAssetNamingStrategy { generateSourceFileName(ctx: RequestContext, originalFileName: string, conflictFileName?: string): string; generatePreviewFileName(ctx: RequestContext, originalFileName: string, conflictFileName?: string): string; private getHashedDir; }