///
import type { Semaphore } from 'semaphore';
import type { DisplayURL, FileMetadata, ImplementationEntry, ImplementationFile } from '@staticcms/core';
import type { AsyncLock } from './asyncLock';
type ReadFile = (path: string, id: string | null | undefined, options: {
parseText: boolean;
}) => Promise;
type ReadFileMetadata = (path: string, id: string | null | undefined) => Promise;
type CustomFetchFunc = (files: ImplementationFile[]) => Promise;
export declare function entriesByFolder(listFiles: () => Promise, readFile: ReadFile, readFileMetadata: ReadFileMetadata, apiName: string): Promise;
export declare function entriesByFiles(files: ImplementationFile[], readFile: ReadFile, readFileMetadata: ReadFileMetadata, apiName: string): Promise;
export declare function unpublishedEntries(listEntriesKeys: () => Promise): Promise;
export declare function blobToFileObj(name: string, blob: Blob): File;
export declare function getMediaAsBlob(path: string, id: string | null, readFile: ReadFile): Promise;
export declare function getMediaDisplayURL(displayURL: DisplayURL, readFile: ReadFile, semaphore: Semaphore): Promise;
export declare function runWithLock(lock: AsyncLock, func: Function, message: string): Promise;
type LocalTree = {
head: string;
files: {
id: string;
name: string;
path: string;
}[];
};
type GetKeyArgs = {
branch: string;
folder: string;
extension: string;
depth: number;
};
type PersistLocalTreeArgs = GetKeyArgs & {
localForage: LocalForage;
localTree: LocalTree;
};
type GetLocalTreeArgs = GetKeyArgs & {
localForage: LocalForage;
};
export declare function persistLocalTree({ localForage, localTree, branch, folder, extension, depth, }: PersistLocalTreeArgs): Promise;
export declare function getLocalTree({ localForage, branch, folder, extension, depth, }: GetLocalTreeArgs): Promise;
type GetDiffFromLocalTreeMethods = {
getDifferences: (to: string, from: string) => Promise<{
oldPath: string;
newPath: string;
status: string;
}[]>;
filterFile: (file: {
path: string;
name: string;
}) => boolean;
getFileId: (path: string) => Promise;
};
type AllEntriesByFolderArgs = GetKeyArgs & GetDiffFromLocalTreeMethods & {
listAllFiles: (folder: string, extension: string, depth: number) => Promise;
readFile: ReadFile;
readFileMetadata: ReadFileMetadata;
getDefaultBranch: () => Promise<{
name: string;
sha: string;
}>;
isShaExistsInBranch: (branch: string, sha: string) => Promise;
apiName: string;
localForage: LocalForage;
customFetch?: CustomFetchFunc;
};
export declare function allEntriesByFolder({ listAllFiles, readFile, readFileMetadata, apiName, branch, localForage, folder, extension, depth, getDefaultBranch, isShaExistsInBranch, getDifferences, getFileId, filterFile, customFetch, }: AllEntriesByFolderArgs): Promise;
export {};