export type CustomFormatMappingBoundary = "input" | "contract" | "governance" | "provider-response";
export type CustomFormatMappingGate = {
    accepted: boolean;
    reason?: string;
};
export type CustomFormatMappingTrace = {
    correlationId?: string;
    callerId?: string;
    source?: string;
};
export type CustomFormatCapabilityMappingInput = {
    capabilityId?: string;
    inputChannels?: readonly string[];
    outputChannels?: readonly string[];
    supportsStreaming?: boolean;
    supportsTools?: boolean;
    supportsFiles?: boolean;
};
export type CustomFormatEndpointMappingRequest = {
    providerId?: string;
    endpointId?: string;
    requestBody?: Readonly<Record<string, unknown>>;
    responseBody?: Readonly<Record<string, unknown>>;
    responseStatus?: number;
    upstreamError?: unknown;
    capability?: CustomFormatCapabilityMappingInput;
    contract?: CustomFormatMappingGate;
    governance?: CustomFormatMappingGate;
    trace?: CustomFormatMappingTrace;
    metadata?: Readonly<Record<string, unknown>>;
};
export type CustomFormatMappedBodyEnvelope = {
    retained: false;
    kind: "record";
    keyHints: readonly string[];
};
export type CustomFormatMappedErrorCategory = "auth" | "rate-limit" | "timeout" | "endpoint-unavailable" | "format-drift" | "provider-error" | "unknown";
export type CustomFormatMappedUpstreamError = {
    category: CustomFormatMappedErrorCategory;
    message: string;
    status?: number;
    keyHints: readonly string[];
    rawProviderFieldsExposed: false;
};
export type CustomFormatMappedCapability = {
    capabilityId: string;
    inputChannels: readonly string[];
    outputChannels: readonly string[];
    supportsStreaming: boolean;
    supportsTools: boolean;
    supportsFiles: boolean;
};
export type CustomFormatEndpointMapping = {
    providerId: string;
    endpointId: string;
    requestEnvelope?: CustomFormatMappedBodyEnvelope;
    responseEnvelope?: CustomFormatMappedBodyEnvelope & {
        status?: number;
    };
    errorEnvelope?: CustomFormatMappedUpstreamError;
    capability?: CustomFormatMappedCapability;
    metadata: Readonly<Record<string, unknown>>;
    trace: CustomFormatMappingTrace;
    abstractionHandoff: {
        target: "agent_modelAdapter.abstractionLayer";
        rawProviderFieldsExposed: false;
        customFormatPromotedToPraxisStandard: false;
    };
    audit: {
        mappedBy: "customFormat.customMapper";
        dryRun: true;
        unsafeSideEffects: false;
    };
};
export type CustomFormatMappingErrorCode = "MISSING_PROVIDER_ID" | "MISSING_ENDPOINT_ID" | "MISSING_MAPPING_MATERIAL" | "INVALID_REQUEST_BODY" | "RESPONSE_FORMAT_DRIFT" | "INVALID_CAPABILITY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED";
export type CustomFormatMappingError = {
    code: CustomFormatMappingErrorCode;
    message: string;
    boundary: CustomFormatMappingBoundary;
    safeForRuntimeInspection: true;
    rawProviderFieldsExposed: false;
};
export type CustomFormatMappingResult = {
    ok: true;
    mapping: CustomFormatEndpointMapping;
    events: readonly string[];
} | {
    ok: false;
    error: CustomFormatMappingError;
    events: readonly string[];
};
export declare const customFormatMapperDescriptor: {
    readonly layer: "agent_modelAdapter.actualInvocationLayer.customFormat";
    readonly capability: "customFormat.customMapper";
    readonly purpose: "map custom provider request, response, error, and capability material into inspection-safe envelopes";
    readonly dryRun: true;
    readonly unsafeSideEffects: false;
    readonly handoff: "agent_modelAdapter.abstractionLayer";
};
export declare function mapCustomFormatEndpoint(request?: CustomFormatEndpointMappingRequest): CustomFormatMappingResult;
