/** * LibraryManager — CRUD for the `libraries` table plus driver dispatch. * * Wraps a LocalIndex handle (sharing its db) and exposes the user-facing * library lifecycle: add / list / get / setDefault / rename / update / * remove. Also owns ensurePersonalLibrary() — the silent auto-init on first * `skaile asset migrate`. * * @docLink packages/library/concepts#library-manager */ import type { LibrarySyncDriver } from "../sync/driver.js"; import { type AddLibraryInput, type Library, type LibraryBackend, type UpdateLibraryInput } from "../user-library.js"; import type { LocalIndex } from "./library.js"; export declare class LibraryManager { private readonly lib; private readonly localDrv; private readonly gitDrv; constructor(lib: LocalIndex); /** Resolve the sync driver for a given backend. */ driverFor(backend: LibraryBackend): LibrarySyncDriver; addLibrary(input: AddLibraryInput): Promise; listLibraries(): Promise; getLibrary(nameOrId: string): Promise; requireLibrary(nameOrId: string): Promise; updateLibrary(nameOrId: string, patch: UpdateLibraryInput): Promise; setDefault(nameOrId: string): Promise; removeLibrary(nameOrId: string, opts?: { purge?: boolean; }): Promise; /** * Idempotently ensure a `personal` library exists at `/personal`. * Created silently — one stderr line — on first call when no writable default * exists. Returns the library row and a `created` flag. */ ensurePersonalLibrary(librariesDir: string): Promise<{ library: Library; created: boolean; }>; } //# sourceMappingURL=library-manager.d.ts.map