import { Logger } from 'typescript-log'; import { BuildEnvironment, BuildTarget } from '../../lib/types'; declare type ValidationItem = { isFile: true; filePath: string; hashKey: string; } | { isFile: false; itemHash: string; hashKey: string; }; interface CacheLoaderValidation { cacheValidationConfigPath: string; cacheDirectory: string; validationItems: ValidationItem[]; baseCacheDirectory: string; } interface CacheLoaderValidationFile { [key: string]: string | boolean; cacheCleared: boolean; } interface BuildInfo { project: string; environment: BuildEnvironment; target: BuildTarget; } export declare const setup: (log: Logger, options: { cacheDirectory?: string | undefined; validationItems: ValidationItem[]; valiationConfigPath?: string | undefined; traceMessages?: boolean | undefined; }) => CacheLoaderValidation; export declare const setupWithBuildInfo: (log: Logger, options: { cacheDirectory?: string | undefined; validationItems: ValidationItem[]; buildInfo: BuildInfo; traceMessages?: boolean | undefined; }) => CacheLoaderValidation; export declare const buildCacheDirectory: (buildInfo: BuildInfo) => string; export declare const getConfigContents: (log: Logger, configFilePath: string) => Promise; export declare const deletePath: (log: Logger, fileOrDir: string) => Promise; export declare const getMd5: (log: Logger, key: string, item: string) => Promise; /** * Determines if the build cache should be cleared if the ts config has changed. */ export declare const validateCache: (log: Logger) => Promise; export declare const writeDummyConfigFile: (log: Logger, file: string, config: CacheLoaderValidationFile) => Promise; export declare const writeDummyFile: (log: Logger, file: string, contents: string) => Promise; export {};