/** Lifecycle manager for isolated Open Knowledge Format bundles. */ import * as Effect from "effect/Effect"; import * as FileSystem from "effect/FileSystem"; import * as HttpClient from "effect/unstable/http/HttpClient"; import * as Layer from "effect/Layer"; import * as Option from "effect/Option"; import * as Path from "effect/Path"; import * as ServiceMap from "effect/Context"; import { AppError, makeAppError } from "../app-error/index.js"; import { SourceHostProviders } from "../source-resolution/index.js"; import type { VersionRange } from "../version-constraints/version-constraints.js"; import type { ExtensionManager } from "../workspace/service-interface.js"; import { WorkspaceMutations } from "../workspace/service-interface.js"; import { type ProjectionPlan } from "../projection/planning.js"; import type { KnowledgeExtensionRef } from "./refs.js"; export interface KnowledgeManagerService extends ExtensionManager { readonly projectionPlans: () => Effect.Effect, AppError>; readonly refreshCatalog: () => Effect.Effect>; readonly sync: (options: { readonly dryRun: boolean; }) => Effect.Effect>; readonly install: (args: { readonly ref: KnowledgeExtensionRef; readonly versionRange: Option.Option; readonly deferProjection?: boolean; }) => Effect.Effect>; } export interface KnowledgeSyncResult { readonly changed: boolean; readonly warnings: ReadonlyArray; readonly artifacts: ReadonlyArray<{ readonly path: string; readonly change: "created" | "updated" | "removed" | "unchanged"; readonly mechanism?: "symlink" | "copy"; }>; } declare const KnowledgeManager_base: ServiceMap.ServiceClass; export declare class KnowledgeManager extends KnowledgeManager_base { } export declare const KnowledgeManagerLive: Layer.Layer; export {}; //# sourceMappingURL=manager.d.ts.map