import { Actor } from "../actors/Actor.js"; import { Auditor } from "../auditing/Auditor.js"; type StoredFile = { path: string; contents: Uint8Array; contentType: string; size: number; lastModified: Date; }; type StoredFileInfo = Omit; declare abstract class FileStorage { protected auditor: Auditor; constructor(auditor: Auditor); put(actor: Actor, path: string, contents: Uint8Array, contentType?: string): Promise; get(path: string, actor: Actor): Promise; delete(path: string, actor: Actor): Promise; list(prefix: string, actor: Actor): Promise>; protected abstract putInternal(path: string, contents: Uint8Array, contentType: string): Promise; protected abstract getInternal(path: string): Promise; protected abstract deleteInternal(path: string): Promise; protected abstract listInternal(prefix: string): Promise>; } declare namespace FileStorage { enum Interaction { PUT = "PUT", READ = "READ", DELETE = "DELETE", LIST = "LIST" } } export { FileStorage }; export type { StoredFile, StoredFileInfo }; //# sourceMappingURL=FileStorage.d.ts.map