import { ChecksumOptions, CreateDirectoryOptions, PublicUrlOptions, StatEntry, StorageAdapter, TemporaryUrlOptions, WriteOptions, CopyFileOptions, MoveFileOptions, MimeTypeOptions, UploadRequestOptions, UploadRequest, MiscellaneousOptions } from '@flystorage/file-storage'; import { Readable } from 'stream'; import { UnixVisibilityConversion } from './unix-visibility.js'; import { PreparedUploadStrategy } from '@flystorage/file-storage'; export type LocalStorageAdapterOptions = { rootDirectoryVisibility?: string; publicUrlOptions?: LocalPublicUrlOptions; temporaryUrlOptions?: Omit; }; export type LocalPublicUrlOptions = PublicUrlOptions & { baseUrl?: string; }; export type LocalPublicUrlGenerator = { publicUrl(path: string, options: LocalPublicUrlOptions): Promise; }; export declare class BaseUrlLocalPublicUrlGenerator implements LocalPublicUrlGenerator { publicUrl(path: string, options: LocalPublicUrlOptions): Promise; } export type LocalTemporaryUrlOptions = TemporaryUrlOptions & { baseUrl?: string; }; export type LocalTemporaryUrlGenerator = { temporaryUrl(path: string, options: LocalTemporaryUrlOptions): Promise; }; export declare class FailingLocalTemporaryUrlGenerator implements LocalTemporaryUrlGenerator { temporaryUrl(): Promise; } export declare class LocalStorageAdapter implements StorageAdapter { readonly rootDir: string; private readonly options; private readonly visibilityConversion; private readonly publicUrlGenerator; private readonly temporaryUrlGenerator; private readonly uploadPreparer; private prefixer; constructor(rootDir: string, options?: LocalStorageAdapterOptions, visibilityConversion?: UnixVisibilityConversion, publicUrlGenerator?: LocalPublicUrlGenerator, temporaryUrlGenerator?: LocalTemporaryUrlGenerator, uploadPreparer?: PreparedUploadStrategy); copyFile(from: string, to: string, options: CopyFileOptions): Promise; moveFile(from: string, to: string, options: MoveFileOptions): Promise; prepareUpload(path: string, options: UploadRequestOptions): Promise; temporaryUrl(path: string, options: TemporaryUrlOptions): Promise; publicUrl(path: string, options: PublicUrlOptions): Promise; mimeType(path: string, options: MimeTypeOptions): Promise; fileSize(path: string, options: MiscellaneousOptions): Promise; lastModified(path: string, options: MiscellaneousOptions): Promise; list(path: string, { deep }: { deep: boolean; }): AsyncGenerator; read(path: string, options: MiscellaneousOptions): Promise; write(path: string, contents: Readable, options: WriteOptions): Promise; deleteFile(path: string): Promise; createDirectory(path: string, options: CreateDirectoryOptions): Promise; stat(path: string, options: MiscellaneousOptions): Promise; private doStat; fileExists(path: string, options: MiscellaneousOptions): Promise; deleteDirectory(path: string, options: MiscellaneousOptions): Promise; private mapStatToEntry; changeVisibility(path: string, visibility: string, options: MiscellaneousOptions): Promise; visibility(path: string, options: MiscellaneousOptions): Promise; directoryExists(path: string, options: MiscellaneousOptions): Promise; private rootDirectoryCreation; private ensureRootDirectoryExists; private ensureParentDirectoryExists; checksum(path: string, options: ChecksumOptions): Promise; } /** * BC export * * @deprecated */ export declare class LocalFileStorage extends LocalStorageAdapter { }