import type { SemanticFieldSpec, SemanticSnapshotInput } from './semantic-tracker.js'; export interface SemanticFieldSourceMatchConfig { protocols?: string[] | string; directions?: Array<'request' | 'response'> | 'request' | 'response'; stageIncludes?: string[] | string; nodeIncludes?: string[] | string; entryEndpointIncludes?: string[] | string; } export interface SemanticFieldSourceConfig { id?: string; match?: SemanticFieldSourceMatchConfig; protocols?: string[] | string; path?: string; selector?: string; transform?: string; } export interface SemanticFieldConfig { id: string; label?: string; summary?: string; changeDescription?: string; normalize?: string; optional?: boolean; sources: SemanticFieldSourceConfig[]; } export interface SemanticMapConfig { version: string; fields: SemanticFieldConfig[]; } export interface SemanticMapLoadOptions { path?: string; } export declare function loadSemanticMapConfig(options?: SemanticMapLoadOptions): Promise; export declare function loadSemanticFieldSpecs(options?: SemanticMapLoadOptions): Promise; export declare function compileSemanticFieldSpecs(config: SemanticMapConfig): SemanticFieldSpec[]; export declare function inferSnapshotProtocol(snapshot: SemanticSnapshotInput): string | undefined;