import type { AdapterContext, ChatEnvelope } from '../../../../types/chat-envelope.js';
import type { FormatEnvelope } from '../../../../types/format-envelope.js';
import type { JsonObject } from '../../../../types/json.js';
import type { StageRecorder, SemanticMapper } from '../../../../format-adapters/index.js';
import type { ProcessedRequest, StandardizedRequest } from '../../../../types/standardized.js';
export interface ReqOutboundStage1SemanticMapOptions {
    request: StandardizedRequest | ProcessedRequest;
    adapterContext: AdapterContext;
    semanticMapper: Pick<SemanticMapper, 'fromChat'>;
    contextSnapshot?: Record<string, unknown>;
    contextMetadataKey?: string;
    stageRecorder?: StageRecorder;
}
export interface ReqOutboundStage1SemanticMapResult {
    chatEnvelope: ChatEnvelope;
    formatEnvelope: FormatEnvelope<JsonObject>;
}
export declare function runReqOutboundStage1SemanticMap(options: ReqOutboundStage1SemanticMapOptions): Promise<ReqOutboundStage1SemanticMapResult>;
