import type { OutputInterfaceCapabilityEnvelope } from "./outputInterfaceCapability.js";
import type { OutputInterfaceFormatEnvelope } from "./outputInterfaceFormat.js";
export type IntermediateMapperBoundary = "input" | "contract" | "governance" | "scope" | "compatibility";
export type IntermediateMapperGate = {
    accepted: boolean;
    reason?: string;
};
export type IntermediateMapperRequest = {
    runtimeId?: string;
    mappingId?: string;
    sourceInterfaceId?: string;
    capabilityEnvelope?: OutputInterfaceCapabilityEnvelope;
    formatEnvelope?: OutputInterfaceFormatEnvelope;
    targetCapabilityIds?: readonly string[];
    targetFormatIds?: readonly string[];
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    contract?: IntermediateMapperGate;
    governance?: IntermediateMapperGate;
};
export type IntermediateMapperErrorCode = "MISSING_RUNTIME_ID" | "MISSING_MAPPING_ID" | "MISSING_INTERFACE_ID" | "MISSING_INTERMEDIATE_INPUT" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED" | "SOURCE_MISMATCH";
export type IntermediateMapperError = {
    code: IntermediateMapperErrorCode;
    message: string;
    boundary: IntermediateMapperBoundary;
    safeForRuntimeInspection: true;
};
export type IntermediateCapabilityMatch = {
    capabilityId: string;
    providerKey?: string;
    available: boolean;
    required: boolean;
    status: "matched" | "missing";
    evidence: readonly string[];
    limits: readonly string[];
};
export type IntermediateFormatMatch = {
    formatId: string;
    mediaType?: string;
    providerKey?: string;
    streaming: boolean;
    structured: boolean;
    available: boolean;
    status: "matched" | "missing";
};
export type IntermediateCompatibilityGap = {
    kind: "capability" | "format";
    id: string;
    reason: "missing" | "unavailable";
};
export type IntermediateCompatibilityMapping = {
    kind: "agentCore.modelAdapter.intermediateMapping";
    runtimeId: string;
    mappingId: string;
    sourceInterfaceId: string;
    capabilityMatches: readonly IntermediateCapabilityMatch[];
    formatMatches: readonly IntermediateFormatMatch[];
    gaps: readonly IntermediateCompatibilityGap[];
    compatible: boolean;
    acceptedScopes: readonly string[];
    bridgeHandoff: {
        bridgingLayer: "pending";
        providerPayloadCreated: false;
    };
    unsafeSideEffects: false;
};
export type IntermediateMapperResult = {
    ok: true;
    mapping: IntermediateCompatibilityMapping;
    events: readonly string[];
} | {
    ok: false;
    error: IntermediateMapperError;
    events: readonly string[];
};
export declare const intermediateMapperDescriptor: {
    readonly capability: "intermediate-mapper";
    readonly route: "agent_modelAdapter.abstractionLayer.capabilityCompatibilityCore";
    readonly purpose: "map normalized output capabilities and formats into provider-neutral intermediate compatibility records";
    readonly providerPayloadCreated: false;
    readonly unsafeSideEffects: false;
};
export declare function mapIntermediateCapabilityCompatibility(request?: IntermediateMapperRequest): IntermediateMapperResult;
