/** * OperationsLibrary class * * Wraps an ILibrary instance and provides ILibraryOperations interface. * Delegates ILibrary methods to the underlying library and implements * high-level operations (search, list, cite, import) using operation functions. * * See: spec/decisions/ADR-009-ilibrary-operations-pattern.md */ import type { CitationConfig } from "../../config/schema.js"; import type { CslItem } from "../../core/csl-json/types.js"; import type { FindOptions, ILibrary, RemoveResult, UpdateOptions, UpdateResult } from "../../core/library-interface.js"; import type { AddAttachmentOptions, AddAttachmentResult, DetachAttachmentOptions, DetachAttachmentResult, GetAttachmentOptions, GetAttachmentResult, ListAttachmentsOptions, ListAttachmentsResult, OpenAttachmentOptions, OpenAttachmentResult, SyncAttachmentOptions, SyncAttachmentResult } from "./attachments/index.js"; import type { CheckOperationOptions, CheckOperationResult } from "./check.js"; import type { CiteOperationOptions, CiteResult } from "./cite.js"; import type { ILibraryOperations, ImportOptions, ImportResult } from "./library-operations.js"; import type { ListOptions, ListResult } from "./list.js"; import type { SearchOperationOptions, SearchResult } from "./search.js"; /** * OperationsLibrary wraps an ILibrary and implements ILibraryOperations * * This allows CLI commands to use a single interface without branching * between local (Library) and server (ServerClient) modes. */ export declare class OperationsLibrary implements ILibraryOperations { private readonly library; private readonly citationConfig?; constructor(library: ILibrary, citationConfig?: CitationConfig | undefined); find(identifier: string, options?: FindOptions): Promise; getAll(): Promise; add(item: CslItem): Promise; update(idOrUuid: string, updates: Partial, options?: UpdateOptions): Promise; remove(identifier: string, options?: FindOptions): Promise; save(): Promise; search(options: SearchOperationOptions): Promise; list(options?: ListOptions): Promise; cite(options: CiteOperationOptions): Promise; import(inputs: string[], options?: ImportOptions): Promise; check(options: CheckOperationOptions): Promise; attachAdd(options: AddAttachmentOptions): Promise; attachList(options: ListAttachmentsOptions): Promise; attachGet(options: GetAttachmentOptions): Promise; attachDetach(options: DetachAttachmentOptions): Promise; attachSync(options: SyncAttachmentOptions): Promise; attachOpen(options: OpenAttachmentOptions): Promise; } //# sourceMappingURL=operations-library.d.ts.map