export type OutputInterfaceCapabilityBoundary = "input" | "contract" | "governance" | "scope" | "compatibility";
export type OutputInterfaceCapabilityGate = {
    accepted: boolean;
    reason?: string;
};
export type OutputInterfaceCapabilityDeclaration = {
    capabilityId?: string;
    providerKey?: string;
    description?: string;
    required?: boolean;
    available?: boolean;
    limits?: readonly string[];
    evidence?: readonly string[];
};
export type OutputInterfaceCapabilityRequest = {
    runtimeId?: string;
    sourceInterfaceId?: string;
    providerId?: string;
    modelId?: string;
    capabilities?: readonly OutputInterfaceCapabilityDeclaration[];
    requiredCapabilities?: readonly string[];
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    contract?: OutputInterfaceCapabilityGate;
    governance?: OutputInterfaceCapabilityGate;
};
export type OutputInterfaceCapabilityErrorCode = "MISSING_RUNTIME_ID" | "MISSING_INTERFACE_ID" | "MISSING_CAPABILITY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED";
export type OutputInterfaceCapabilityError = {
    code: OutputInterfaceCapabilityErrorCode;
    message: string;
    boundary: OutputInterfaceCapabilityBoundary;
    safeForRuntimeInspection: true;
};
export type NormalizedOutputInterfaceCapability = {
    capabilityId: string;
    providerKey?: string;
    description?: string;
    required: boolean;
    available: boolean;
    limits: readonly string[];
    evidence: readonly string[];
};
export type OutputInterfaceCapabilityEnvelope = {
    kind: "agentCore.modelAdapter.outputInterfaceCapability";
    runtimeId: string;
    sourceInterfaceId: string;
    providerId?: string;
    modelId?: string;
    capabilities: readonly NormalizedOutputInterfaceCapability[];
    requiredCapabilities: readonly string[];
    missingCapabilities: readonly string[];
    compatible: boolean;
    acceptedScopes: readonly string[];
    bridgeReadiness: "ready" | "blocked-by-missing-capability";
    providerPayloadCreated: false;
    unsafeSideEffects: false;
};
export type OutputInterfaceCapabilityResult = {
    ok: true;
    envelope: OutputInterfaceCapabilityEnvelope;
    events: readonly string[];
} | {
    ok: false;
    error: OutputInterfaceCapabilityError;
    events: readonly string[];
};
export declare const outputInterfaceCapabilityDescriptor: {
    readonly capability: "output-interface-capability";
    readonly route: "agent_modelAdapter.abstractionLayer.capabilityCompatibilityCore";
    readonly purpose: "normalize provider output capability signals without freezing provider fields as agentCore schema";
    readonly providerPayloadCreated: false;
    readonly unsafeSideEffects: false;
};
export declare function defineOutputInterfaceCapabilities(request?: OutputInterfaceCapabilityRequest): OutputInterfaceCapabilityResult;
