export type ApplicationCompatibilityBoundary = "input" | "contract" | "governance" | "scope" | "compatibility";
export type ApplicationCompatibilityGate = {
    accepted: boolean;
    reason?: string;
};
export type ApplicationBridgeCapability = {
    capabilityId: string;
    providerKey?: string;
    available: boolean;
    required?: boolean;
    evidence?: readonly string[];
    limits?: readonly string[];
};
export type ApplicationBridgeFormat = {
    formatId: string;
    mediaType?: string;
    providerKey?: string;
    streaming?: boolean;
    structured?: boolean;
    available: boolean;
};
export type ApplicationBridgeGap = {
    kind: "capability" | "format";
    id: string;
    reason: string;
};
export type ApplicationBridgeCandidate = {
    kind?: string;
    runtimeId: string;
    bridgeId?: string;
    transformationId?: string;
    sourceInterfaceId?: string;
    capabilities: readonly ApplicationBridgeCapability[];
    formats: readonly ApplicationBridgeFormat[];
    gaps?: readonly ApplicationBridgeGap[];
    acceptedScopes?: readonly string[];
    compatible?: boolean;
    bridgeReadiness?: "ready" | "blocked-by-compatibility-gap" | "not-ready";
    providerPayloadCreated?: false;
    unsafeSideEffects?: boolean;
};
export type ApplicationCompatibilityRequest = {
    runtimeId?: string;
    checkId?: string;
    candidate?: ApplicationBridgeCandidate;
    requiredCapabilityIds?: readonly string[];
    requiredFormatIds?: readonly string[];
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    requireReadyBridge?: boolean;
    contract?: ApplicationCompatibilityGate;
    governance?: ApplicationCompatibilityGate;
};
export type ApplicationCompatibilityErrorCode = "MISSING_RUNTIME_ID" | "MISSING_CHECK_ID" | "MISSING_BRIDGE_CANDIDATE" | "RUNTIME_MISMATCH" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED" | "BRIDGE_NOT_READY" | "UNSAFE_SIDE_EFFECT";
export type ApplicationCompatibilityError = {
    code: ApplicationCompatibilityErrorCode;
    message: string;
    boundary: ApplicationCompatibilityBoundary;
    safeForRuntimeInspection: true;
};
export type ApplicationCompatibilityReport = {
    kind: "agentCore.modelAdapter.applicationCompatibility";
    runtimeId: string;
    checkId: string;
    candidateId: string;
    compatible: boolean;
    agentCoreUsable: boolean;
    missingCapabilities: readonly string[];
    missingFormats: readonly string[];
    gaps: readonly ApplicationBridgeGap[];
    acceptedScopes: readonly string[];
    providerPayloadCreated: false;
    unsafeSideEffects: false;
};
export type ApplicationCompatibilityResult = {
    ok: true;
    report: ApplicationCompatibilityReport;
    events: readonly string[];
} | {
    ok: false;
    error: ApplicationCompatibilityError;
    events: readonly string[];
};
export declare const applicationCompatibilityCheckDescriptor: {
    readonly capability: "application-compatibility-check";
    readonly route: "agent_modelAdapter.bridgingLayer";
    readonly purpose: "check whether an abstraction-layer bridge candidate can be used by agentCore's internal model call shape";
    readonly providerPayloadCreated: false;
    readonly unsafeSideEffects: false;
};
export declare function checkApplicationModelCompatibility(request?: ApplicationCompatibilityRequest): ApplicationCompatibilityResult;
