import type { JsonObject } from "./contracts.js"; export type ManifestContributionKind = "provider" | "model" | "tool" | "contextProvider" | "skill" | "command" | "agent" | "inputBuilder" | "promptBuilder" | "compactionStrategy" | "retryPolicy" | "storeFactory" | "resourceLoader" | "settingsProvider" | "credentialResolver" | "providerPackage" | "authMethod" | "providerRequestPolicy" | "systemPromptContribution" | "instructionInjector"; export interface ManifestContributionDeclaration { readonly kind: ManifestContributionKind; readonly name: string; readonly module?: string; readonly exportName?: string; readonly configKey?: string; readonly resource?: string; readonly metadata?: JsonObject; } export interface ManifestResourceDeclaration { readonly uri: string; readonly mediaType?: string; readonly purpose?: "manifest" | "prompt" | "skill" | "package" | string; readonly metadata?: JsonObject; } export interface PrismManifest { readonly name: string; readonly version?: string; readonly description?: string; readonly configDefaults?: JsonObject; readonly contributions?: readonly ManifestContributionDeclaration[]; readonly resources?: readonly ManifestResourceDeclaration[]; readonly metadata?: JsonObject; } export declare function definePrismManifest(manifest: PrismManifest): PrismManifest; export declare function parsePrismManifest(value: unknown): PrismManifest;