import type { MaterialAsset } from "../materials/ingest.js"; export interface BookReferenceBinding { readonly materialId: string; readonly uses: ReadonlyArray; readonly note?: string; readonly createdAt: string; readonly updatedAt: string; } export interface BookReferenceManifest { readonly version: 1; readonly bookId: string; readonly bindings: ReadonlyArray; } export interface BindBookReferenceInput { readonly materialId: string; readonly uses: ReadonlyArray; readonly note?: string; } export interface BookReferenceDeps { readonly now?: () => Date; } export interface ResolvedBookReference extends BookReferenceBinding { readonly available: boolean; readonly title?: string; readonly asset?: MaterialAsset; readonly error?: string; } export interface BookReferenceList { readonly manifest: BookReferenceManifest; readonly references: ReadonlyArray; } export declare function bindBookReference(projectRoot: string, bookId: string, input: BindBookReferenceInput, deps?: BookReferenceDeps): Promise; export declare function unbindBookReference(projectRoot: string, bookId: string, materialIdInput: string): Promise<{ readonly removed: boolean; readonly manifest: BookReferenceManifest; }>; export declare function listBookReferences(projectRoot: string, bookId: string): Promise; export declare function loadBookReferenceManifest(projectRoot: string, bookId: string): Promise; export declare function loadMaterialAsset(projectRoot: string, materialIdInput: string): Promise; //# sourceMappingURL=book-references.d.ts.map