import * as Effect from "effect/Effect"; import { type AppError } from "../app-error/index.js"; import { type InstallableExtensionType } from "../extensions/index.js"; import type { DeprecationView } from "../registry/schema.js"; import { SourceHostProviders } from "../source-resolution/index.js"; import { WorkspaceMutations } from "./service-interface.js"; export type ExtensionListFilter = "all" | "outdated" | "deprecated"; export type ExtensionAssessmentState = "not-checked" | "current" | "available" | "changed" | "active" | "deprecated" | "unknown" | "not-applicable"; export interface ExtensionAssessment { readonly state: ExtensionAssessmentState; readonly reason?: string; readonly installedVersion?: string; readonly constraint?: string; readonly latestMatching?: string; readonly latestAvailable?: string; readonly installedRevision?: string; readonly currentRevision?: string; readonly deprecation?: DeprecationView; } export interface ExtensionListItem { readonly ref: string; readonly type: InstallableExtensionType; readonly name: string; readonly management: "configured" | "implicit" | "unmanaged"; readonly installed: boolean; readonly enabled: boolean | null; readonly version?: string; readonly source?: string; readonly sourceName?: string; readonly assessment: ExtensionAssessment; } export declare const collectExtensionListItems: (type?: "skill" | "mcp-server" | "subagent" | "rule" | "hook" | "knowledge" | "pack" | undefined) => Effect.Effect; export declare const assessExtensionListItems: (items: readonly ExtensionListItem[], filter: "deprecated" | "outdated") => Effect.Effect; //# sourceMappingURL=extension-list.d.ts.map