import { MANIFEST_KEY } from "../compat/legacy-names.js"; import type { PluginConfigUiHint, PluginKind } from "./types.js"; export declare const PLUGIN_MANIFEST_FILENAME = "bot.plugin.json"; export declare const PLUGIN_MANIFEST_FILENAMES: readonly ["bot.plugin.json"]; export type PluginManifest = { id: string; configSchema: Record; kind?: PluginKind; channels?: string[]; providers?: string[]; skills?: string[]; name?: string; description?: string; version?: string; uiHints?: Record; }; export type PluginManifestLoadResult = { ok: true; manifest: PluginManifest; manifestPath: string; } | { ok: false; error: string; manifestPath: string; }; export declare function resolvePluginManifestPath(rootDir: string): string; export declare function loadPluginManifest(rootDir: string, rejectHardlinks?: boolean): PluginManifestLoadResult; export type PluginPackageChannel = { id?: string; label?: string; selectionLabel?: string; detailLabel?: string; docsPath?: string; docsLabel?: string; blurb?: string; order?: number; aliases?: string[]; preferOver?: string[]; systemImage?: string; selectionDocsPrefix?: string; selectionDocsOmitLabel?: boolean; selectionExtras?: string[]; showConfigured?: boolean; quickstartAllowFrom?: boolean; forceAccountBinding?: boolean; preferSessionLookupForAnnounceTarget?: boolean; }; export type PluginPackageInstall = { npmSpec?: string; localPath?: string; defaultChoice?: "npm" | "local"; }; export type BotPackageManifest = { extensions?: string[]; channel?: PluginPackageChannel; install?: PluginPackageInstall; }; export declare const DEFAULT_PLUGIN_ENTRY_CANDIDATES: readonly ["index.ts", "index.js", "index.mjs", "index.cjs"]; export type PackageExtensionResolution = { status: "ok"; entries: string[]; } | { status: "missing"; entries: []; } | { status: "empty"; entries: []; }; export type ManifestKey = typeof MANIFEST_KEY; export type PackageManifest = { name?: string; version?: string; description?: string; } & Partial>; export declare function getPackageManifestMetadata(manifest: PackageManifest | undefined): BotPackageManifest | undefined; export declare function resolvePackageExtensionEntries(manifest: PackageManifest | undefined): PackageExtensionResolution;