/** Declares whether a generated feature is optional or required at runtime. */ export type AiFeatureCapabilityMode = 'optional' | 'required'; /** Describes the minimum compatible platform versions for a feature. */ export interface AiFeatureCompatibilityFloor { /** Minimum supported PHP version, when a feature depends on PHP behavior. */ php?: string; /** Minimum supported WordPress version, when a feature depends on core APIs. */ wordpress?: string; } /** Identifies a concrete runtime signal that a feature depends on. */ export interface AiFeatureRuntimeGate { /** The kind of runtime dependency or capability being checked. */ kind: 'adapter' | 'php-function' | 'script-package' | 'wordpress-core-feature'; /** The concrete symbol, package, or adapter name required at runtime. */ value: string; } /** Defines a single AI-related feature that scaffold compatibility can target. */ export interface AiFeatureDefinition { /** Human-readable summary for docs, onboarding, and generated notices. */ description: string; /** Stable machine-readable identifier used in capability selections. */ id: string; /** Display label presented to maintainers and downstream tooling. */ label: string; /** Optional minimum platform versions required by the feature. */ minimumVersions?: AiFeatureCompatibilityFloor; /** Optional runtime gates that explain what the feature depends on. */ runtimeGates?: readonly AiFeatureRuntimeGate[]; } /** Selects a feature and whether it is required or merely optional. */ export interface AiFeatureCapabilitySelection { /** Feature identifier that must exist in the active registry. */ featureId: string; /** Required selections take precedence over optional duplicates. */ mode: AiFeatureCapabilityMode; } /** Feature definition resolved together with its selected mode. */ export interface ResolvedAiFeatureCapability extends AiFeatureDefinition { /** Final selected mode after duplicate feature ids are normalized. */ mode: AiFeatureCapabilityMode; } /** Groups the normalized feature plan used by scaffold compatibility logic. */ export interface ResolvedAiFeatureCapabilityPlan { /** Highest required PHP and WordPress version floors across required features. */ hardMinimums: AiFeatureCompatibilityFloor; /** Optional features that do not raise the minimum platform floor. */ optionalFeatures: ResolvedAiFeatureCapability[]; /** Required features that downstream projects must treat as mandatory. */ requiredFeatures: ResolvedAiFeatureCapability[]; } /** Canonical registry of AI-related features supported by wp-typia today. */ export declare const AI_FEATURE_DEFINITIONS: { readonly wordpressAiClient: { readonly description: 'WordPress 7.0 AI Client surface used by AI-capable feature endpoints.'; readonly id: 'wordpress-ai-client'; readonly label: 'WordPress AI Client'; readonly minimumVersions: { readonly wordpress: '7.0'; }; readonly runtimeGates: readonly [{ readonly kind: 'wordpress-core-feature'; readonly value: 'WordPress AI Client'; }]; }; readonly wordpressCoreAbilities: { readonly description: 'Client-side ability discovery surface for editor and admin flows.'; readonly id: 'wordpress-core-abilities'; readonly label: '@wordpress/core-abilities'; readonly minimumVersions: { readonly wordpress: '7.0'; }; readonly runtimeGates: readonly [{ readonly kind: 'script-package'; readonly value: '@wordpress/core-abilities'; }]; }; readonly wordpressMcpPublicMetadata: { readonly description: 'Optional MCP exposure metadata consumed by a separate adapter path rather than core alone.'; readonly id: 'wordpress-mcp-public-metadata'; readonly label: 'MCP public metadata'; readonly runtimeGates: readonly [{ readonly kind: 'adapter'; readonly value: 'MCP adapter'; }]; }; readonly wordpressServerAbilities: { readonly description: 'Server-side ability registration and execution surface for WordPress-native abilities.'; readonly id: 'wordpress-server-abilities'; readonly label: 'WordPress Abilities API'; readonly minimumVersions: { readonly wordpress: '6.9'; }; readonly runtimeGates: readonly [{ readonly kind: 'php-function'; readonly value: 'wp_register_ability'; }, { readonly kind: 'php-function'; readonly value: 'wp_register_ability_category'; }]; }; }; /** * Resolves a normalized AI feature capability plan from a list of selections. * * Required selections win when the same feature id appears multiple times, and * the resulting hard minimum platform floor is computed from required features * only. * * @param selections Desired feature selections for a scaffold or projection. * @param registry Feature registry to resolve against. Defaults to the built-in registry. * @returns The normalized capability plan plus required version floors. * @throws When a selection references an unknown feature id. */ export declare function resolveAiFeatureCapabilityPlan(selections: readonly AiFeatureCapabilitySelection[], registry?: Readonly>): ResolvedAiFeatureCapabilityPlan;