export interface IBaseFileHelper {
    createSubDirectoryInCacheCallback(fileName: string): void;
    fileExistsInCacheCallback(path: string): boolean;
    fileExistsInResourcesCallback(path: string): boolean;
    saveFileInCacheCallback(fileName: string, data: string): void;
    saveFileInCacheBinaryCallback(fileName: string, memoryView: Uint8Array): void;
    saveFileInResourcesCallback(fileName: string, data: string): void;
    cleanUpResourcesFolderCallback(): void;
    cleanGeneratedCodeFolderCallback(): void;
    saveGeneratedCodeCallback(fileName: string, data: string): void;
    loadFileFromCacheCallback(fileName: string): string;
    loadFileFromResourcesCallback(fileName: string): string;
    deleteCachedFolderCallback(path: string): void;
    deleteCachedFileCallback(path: string): void;
    getFilesInCachedFolderCallback(path: string): string[];
    applyTempFolderCallback(tempFolder: string): void;
    getUrlCachePathCallback(id: string, path: string): void;
    getCachePathCallback(path: string): string;
    getResourcesPathCallback(path: string): string;
}
export interface ICachedFileHelper extends IBaseFileHelper {
    getBinaryFile(key: string): Promise<Uint8Array | null>;
    saveBinaryFile(key: string, data: Uint8Array): Promise<boolean>;
    hasFile(key: string): Promise<boolean>;
    deleteFile(key: string): Promise<boolean>;
    clearCache(): Promise<boolean>;
    getCacheStats(): {
        fileCount: number;
        memoryUsage: string;
    };
    setSpriteLoader?(loader: (id: string, callback: (path: string | null) => void) => void): void;
}
export declare class FileHelperManager {
    private static instance;
    static setInstance(fileHelper: ICachedFileHelper): void;
    static getInstance(): ICachedFileHelper | null;
    static isAvailable(): boolean;
    static clearInstance(): void;
}
//# sourceMappingURL=ICachedFileHelper.d.ts.map