///
///
import { IFileStore } from 'lincd/interfaces/IFileStore';
import { NamedNode } from 'lincd/models';
import { Shape } from 'lincd/shapes/Shape';
export declare class LocalFileStore extends Shape implements IFileStore {
private readonly basePath;
readonly accessURL: string;
constructor(n: string | NamedNode, basePath?: string);
/**
* Delete a file from the local filesystem
* @param filePath The path to the file to delete, relative to the base upload folder
* @returns A promise that resolves when the file is deleted
*/
deleteFile(filePath: string): Promise;
/**
* Check if a file exists on the local filesystem
* @param filePath The path to the file to check, relative to the base upload folder
* @returns A promise that resolves to true if the file exists, false otherwise
*/
fileExists(filePath: string): Promise;
/**
* Get a file from the local filesystem
* @param filePath The path to the file to get, relative to the base upload folder
* @returns A promise that resolves to the file contents as a buffer, or null if the file does not exist
*/
getFile(filePath: string): Promise;
/**
* List all files in the local filesystem, relative to the base upload folder
* @param recursive Whether or not to search all subdirectories recursively
* @returns A promise that resolves to a list of file paths, relative to the base upload folder
* @todo Think about taking an options parameter instead of positional args
* @todo Take a path parameter to list files in a subdirectory
*/
listFiles(prefix?: string): Promise;
/**
* Save a file to the local filesystem
* @param filePath The path to save the file to, relative to the base upload folder
* @param fileContent The contents of the file as a buffer
* @returns A promise that resolves to the public URL of the file
*/
saveFile(filePath: string, fileContent: Buffer, mimeType?: string): Promise;
}