import type { Book } from '../domain/book.js'; import { type Manifest, type ResourceRecord } from './schema.js'; export declare class BookWorkspace { readonly bookId: number; private manifest; readonly directory: string; readonly rawDirectory: string; readonly chapterDirectory: string; readonly assetDirectory: string; readonly packageDirectory: string; readonly manifestPath: string; readonly bookPath: string; private manifestWrite; private constructor(); static open(rootDirectory: string, bookId: number): Promise; snapshot(): Manifest; resource(key: string): ResourceRecord | undefined; mark(key: string, update: Omit): Promise; setTitle(title: string): Promise; writeJson(relativePath: string, value: unknown): Promise; readText(relativePath: string): Promise; readJson(relativePath: string): Promise; writeAtomic(relativePath: string, data: string | Uint8Array): Promise; readBook(): Promise; writeBook(book: Book): Promise; exists(relativePath: string): Promise; resolve(relativePath: string): string; clearPackageDirectory(): Promise; private saveManifest; } //# sourceMappingURL=workspace.d.ts.map