/** Simple read-only file store. */ export interface ReadOnlyFileStore { /** Reads a file given a path, or an URI as returned by calling `save`. Returns file contents. */ read(pathOrUrl: string): Promise; /** Downloads a file given a path, or an URI as returned by calling `save`. Saves file to local path. */ download(pathOrUrlStr: string, destPath: string): Promise; /** Returns whether a file at the given path or URI exists. */ exists(pathOrUrl: string): Promise; } export type FileStoreSaveOptions = { public?: boolean; metadata?: Record; compress?: boolean; }; /** Simple file store. */ export interface FileStore extends ReadOnlyFileStore { /** * Saves contents to the given path. Returns an URI that can be used later to `read` the file. * Default: `compress` is false unless explicitly set. */ save(path: string, data: Buffer, opts?: FileStoreSaveOptions): Promise; /** * Uploads contents from a local file. Returns an URI that can be used later to `read` the file. * Default: `compress` is true unless explicitly set to false. */ upload(destPath: string, srcPath: string, opts?: FileStoreSaveOptions): Promise; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmlsZS1zdG9yZS9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUNBQW1DO0FBQ25DLE1BQU0sV0FBVyxpQkFBaUI7SUFDaEMsaUdBQWlHO0lBQ2pHLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6Qyx3R0FBd0c7SUFDeEcsUUFBUSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEUsOERBQThEO0lBQzlELE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztDQUM3QztBQUVELE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUFFLE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFBQyxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUE7Q0FBRSxDQUFDO0FBRS9HLHlCQUF5QjtBQUN6QixNQUFNLFdBQVcsU0FBVSxTQUFRLGlCQUFpQjtJQUNsRDs7O09BR0c7SUFDSCxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvRTs7O09BR0c7SUFDSCxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUN6RiJ9