import type { Readable } from "node:stream"; import { type FileStorePruneOptions } from "./file-store-prune.js"; export type { FileStorePruneOptions } from "./file-store-prune.js"; import { type JsonFileStoreOptions, type JsonStore } from "./json-document-store.js"; import { type OpenResult, type ReadResult, type Root, type RootReadOptions } from "./root.js"; export type FileStoreOptions = { rootDir: string; private?: boolean; dirMode?: number; mode?: number; maxBytes?: number; }; export type FileStoreWriteOptions = { dirMode?: number; mode?: number; maxBytes?: number; tempPrefix?: string; }; export type FileStoreReadOptions = RootReadOptions & { encoding?: BufferEncoding; }; export type FileStore = { readonly rootDir: string; path(relativePath: string): string; root(): Promise; write(relativePath: string, data: string | Uint8Array, options?: FileStoreWriteOptions): Promise; writeStream(relativePath: string, stream: Readable, options?: FileStoreWriteOptions): Promise; copyIn(relativePath: string, sourcePath: string, options?: FileStoreWriteOptions): Promise; open(relativePath: string, options?: RootReadOptions): Promise; read(relativePath: string, options?: RootReadOptions): Promise; readBytes(relativePath: string, options?: RootReadOptions): Promise; readText(relativePath: string, options?: FileStoreReadOptions): Promise; readTextIfExists(relativePath: string, options?: FileStoreReadOptions): Promise; readJson(relativePath: string, options?: FileStoreReadOptions): Promise; readJsonIfExists(relativePath: string, options?: FileStoreReadOptions): Promise; remove(relativePath: string): Promise; exists(relativePath: string): Promise; writeText(relativePath: string, data: string | Uint8Array, options?: FileStoreWriteOptions): Promise; writeJson(relativePath: string, data: unknown, options?: FileStoreWriteOptions & { trailingNewline?: boolean; }): Promise; json(relativePath: string, options?: JsonFileStoreOptions): JsonStore; pruneExpired(options: FileStorePruneOptions): Promise; }; export type FileStoreSync = { readonly rootDir: string; path(relativePath: string): string; readTextIfExists(relativePath: string, options?: { maxBytes?: number; }): string | null; readJsonIfExists(relativePath: string, options?: { maxBytes?: number; }): T | null; write(relativePath: string, data: string | Uint8Array, options?: FileStoreWriteOptions): string; writeText(relativePath: string, data: string | Uint8Array, options?: FileStoreWriteOptions): string; writeJson(relativePath: string, data: unknown, options?: FileStoreWriteOptions & { trailingNewline?: boolean; }): string; }; export declare function fileStore(options: FileStoreOptions): FileStore; export declare function fileStoreSync(options: FileStoreOptions): FileStoreSync; //# sourceMappingURL=file-store.d.ts.map