import type { CapabilityManifest } from '../contracts/capability'; import type { EntityRef } from '../contracts/common'; import type { MenuDefinition } from '../contracts/menu'; import type { PageDefinition } from '../contracts/page'; import { type ChangeImpactGraph, type DomainCommand, type DomainCommandDefinition, type ProductDeclaration } from '../contracts/semantic'; export interface CompiledProductDeclaration { declaration: ProductDeclaration; conceptsById: ReadonlyMap; ontologiesById: ReadonlyMap; projectionsById: ReadonlyMap; commandsByName: ReadonlyMap; capabilitiesById: ReadonlyMap; pagesById: ReadonlyMap; menusByKey: ReadonlyMap; nodes: readonly EntityRef[]; edges: readonly ChangeImpactGraph['edges'][number][]; } export interface ToolCapabilityPortSource { name: string; required?: boolean; type?: string; description?: string; } export interface ToolCapabilitySource { id: string; capabilityVersion: string; ownerRepo: string; displayName: string; description?: string; inputs?: readonly ToolCapabilityPortSource[]; outputs?: readonly ToolCapabilityPortSource[]; sideEffects?: CapabilityManifest['runtime']['sideEffects']; } export interface OpenApiToolCapabilityPublisherOptions { namespace: string; ownerRepo: string; capabilityVersion: string; } export declare const compileToolCapabilityManifest: (input: unknown) => CapabilityManifest; export declare const createToolCapabilityManifest: (input: ToolCapabilitySource) => CapabilityManifest; /** Publishes canonical CapabilityManifest values on every tool operation in an OpenAPI document. */ export declare const publishOpenApiToolCapabilityManifests: >(document: T, options: OpenApiToolCapabilityPublisherOptions) => T; export declare const compileProductDeclaration: (input: ProductDeclaration) => CompiledProductDeclaration; export declare const validateDomainCommand: (input: DomainCommand, definitions: readonly DomainCommandDefinition[], permissionCodes: readonly string[]) => DomainCommand; export declare const buildChangeImpactGraph: (previousInput: ProductDeclaration, nextInput: ProductDeclaration, generatedAt?: string) => ChangeImpactGraph; //# sourceMappingURL=declaration-compiler.d.ts.map