import { Type } from "typebox"; import { type AnyPackageManifest } from "./types"; export declare const manifestSchema: Type.TObject<{ contract: Type.TUnion<[Type.TLiteral<1>, Type.TLiteral<2>]>; discovery: Type.TOptional>; certificationUrl: Type.TOptional; intents: Type.TOptional>; keywords: Type.TOptional>; protocols: Type.TOptional>; url: Type.TOptional; }>>; identity: Type.TObject<{ accent: Type.TOptional; category: Type.TString; description: Type.TOptional; docsUrl: Type.TOptional; logo: Type.TOptional; url: Type.TOptional; }>>; name: Type.TString; tagline: Type.TString; }>; implements: Type.TOptional; example: Type.TOptional; key: Type.TString; optional: Type.TOptional; secret: Type.TOptional; when: Type.TOptional; }>>>; peers: Type.TOptional; }>>>; services: Type.TOptional; }>>>; }>>; settings: Type.TOptional>; title: Type.TString; wiring: Type.TObject<{ code: Type.TString; imports: Type.TArray; typeOnly: Type.TOptional; }>>; placement: Type.TOptional, Type.TLiteral<"module-scope">, Type.TLiteral<"server-boundary">, Type.TLiteral<"server-factory">, Type.TLiteral<"server-plugin">]>>; }>; }>>>; integration: Type.TOptional; mode: Type.TUnion<[Type.TLiteral<"adapter">, Type.TLiteral<"code-first">, Type.TLiteral<"recipe">]>; }>>; lifecycle: Type.TOptional; docsUrl: Type.TOptional; id: Type.TString; idempotent: Type.TOptional; kind: Type.TUnion<[Type.TLiteral<"migration">, Type.TLiteral<"post-install">, Type.TLiteral<"verify">]>; title: Type.TString; when: Type.TUnion<[Type.TLiteral<"after-install">, Type.TLiteral<"after-upgrade">, Type.TLiteral<"before-first-run">, Type.TLiteral<"manual">]>; }>>>; presets: Type.TOptional; id: Type.TString; title: Type.TString; values: Type.TRecord<"^.*$", Type.TUnknown>; }>>>; product: Type.TOptional[]>>>; props: Type.TRecord<"^.*$", Type.TUnknown>; }>>>; connections: Type.TOptional>; kind: Type.TUnion<[Type.TLiteral<"none">, Type.TLiteral<"oauth">, Type.TLiteral<"secret">]>; setupTool: Type.TOptional; testTool: Type.TOptional; }>>>; dataSources: Type.TOptional, Type.TLiteral<"create">, Type.TLiteral<"delete">, Type.TLiteral<"detail">, Type.TLiteral<"list">, Type.TLiteral<"update">]>>; schema: Type.TRecord<"^.*$", Type.TUnknown>; tools: Type.TOptional; create: Type.TOptional; delete: Type.TOptional; detail: Type.TOptional; list: Type.TOptional; update: Type.TOptional; }>>; }>>>; events: Type.TOptional; source: Type.TUnion<[Type.TLiteral<"data">, Type.TLiteral<"package">, Type.TLiteral<"ui">, Type.TLiteral<"webhook">]>; }>>>; healthChecks: Type.TOptional>>; releaseChecks: Type.TOptional>; severity: Type.TUnion<[Type.TLiteral<"blocking">, Type.TLiteral<"warning">]>; }>>>; workflowActions: Type.TOptional>>; }>>; requires: Type.TOptional; example: Type.TOptional; key: Type.TString; optional: Type.TOptional; secret: Type.TOptional; when: Type.TOptional; }>>>; peers: Type.TOptional; }>>>; services: Type.TOptional; }>>>; }>>; settings: Type.TRecord<"^.*$", Type.TUnknown>; slots: Type.TOptional>; required: Type.TOptional; }>>>; tools: Type.TOptional; idempotentHint: Type.TOptional; openWorldHint: Type.TOptional; readOnlyHint: Type.TOptional; title: Type.TOptional; }>>; authorization: Type.TOptional, Type.TLiteral<"never">, Type.TLiteral<"policy">]>; audience: Type.TUnion<[Type.TLiteral<"admin">, Type.TLiteral<"authenticated">, Type.TLiteral<"owner">, Type.TLiteral<"public">]>; compensatingTool: Type.TOptional; destinationFields: Type.TOptional>; destinations: Type.TOptional>; effects: Type.TArray; idempotency: Type.TOptional; }>, Type.TObject<{ mode: Type.TLiteral<"host">; }>, Type.TObject<{ mode: Type.TLiteral<"resource">; }>]>>; requiredScopes: Type.TOptional>; resource: Type.TOptional; ownerIdField: Type.TOptional; tenantIdField: Type.TOptional; type: Type.TString; }>>; reversible: Type.TOptional; spend: Type.TOptional; }>>; }>>; capabilities: Type.TOptional, Type.TLiteral<"glob">, Type.TLiteral<"read">, Type.TLiteral<"write">]>>>; description: Type.TString; input: Type.TRecord<"^.*$", Type.TUnknown>; kind: Type.TUnion<[Type.TLiteral<"runtime">, Type.TLiteral<"workspace">]>; }>>>; wiring: Type.TArray; typeOnly: Type.TOptional; }>>; placement: Type.TOptional, Type.TLiteral<"module-scope">, Type.TLiteral<"server-boundary">, Type.TLiteral<"server-factory">, Type.TLiteral<"server-plugin">]>>; }>>; }>>; description: Type.TOptional; id: Type.TString; server: Type.TOptional; typeOnly: Type.TOptional; }>>; placement: Type.TOptional, Type.TLiteral<"module-scope">, Type.TLiteral<"server-boundary">, Type.TLiteral<"server-factory">, Type.TLiteral<"server-plugin">]>>; }>>; title: Type.TString; }>>; }>; /** Serializable projection of a manifest: tool handlers stripped, everything * else passed through. Used by the emit CLI and by loadManifest validation — * one projection so the two can never diverge. */ export declare const serializeManifest: (manifest: AnyPackageManifest) => Record;