/**
 * Capability Registry
 *
 * Manages capability definitions for payload submission.
 * Capabilities define how payloads are processed, including:
 * - Entity extraction rules
 * - Canonicalization rules
 * - Schema versioning
 */
export interface CanonicalizationRules {
    includedFields: string[];
    normalizeStrings?: boolean;
    sortArrays?: boolean;
}
export interface EntityExtractionRule {
    source_field?: string;
    entity_type: string;
    extraction_type: "field_value" | "payload_self" | "array_items";
}
export interface Capability {
    id: string;
    intent: string;
    version: string;
    primary_entity_type: string;
    schema_version: string;
    canonicalization_rules: CanonicalizationRules;
    entity_extraction_rules: EntityExtractionRule[];
}
/**
 * Get capability by ID
 */
export declare function getCapability(capabilityId: string): Capability | null;
/**
 * List all available capabilities
 */
export declare function listCapabilities(): Capability[];
/**
 * Check if capability exists
 */
export declare function hasCapability(capabilityId: string): boolean;
/**
 * Get capabilities by intent (all versions)
 */
export declare function getCapabilitiesByIntent(intent: string): Capability[];
/**
 * Get latest capability version for an intent
 */
export declare function getLatestCapability(intent: string): Capability | null;
//# sourceMappingURL=capability_registry.d.ts.map