/** * LibrarySyncDriver — pluggable sync backend for the Libraries layer. * * Verb permissions are determined by (backend × ownership); drivers throw * OperationNotPermittedError when called outside their matrix. The CLI * checks permissions before calling as defense-in-depth. * * @docLink packages/library/concepts#sync-driver */ import type { AssetRef, Library, LibraryBackend, ProposeOpts, ProposeResult, PublishOpts, PublishResult, PullOpts, PullResult, PushOpts, PushResult, SyncStatus } from "../user-library.js"; export interface LibrarySyncDriver { readonly backend: LibraryBackend; status(lib: Library): Promise; pull(lib: Library, opts?: PullOpts): Promise; push(lib: Library, opts?: PushOpts): Promise; propose(lib: Library, opts: ProposeOpts): Promise; publish(lib: Library, refs: AssetRef[], opts: PublishOpts): Promise; } //# sourceMappingURL=driver.d.ts.map