export type OutputInterfaceModality = "text" | "image" | "audio" | "video" | "embedding" | "structured" | "tool-call";
export type OutputInterfaceChannel = "single" | "stream" | "batch" | "callback";
export type OutputInterfaceScopeBoundary = "input" | "contract" | "governance" | "scope" | "compatibility";
export type OutputInterfaceScopeErrorCode = "MISSING_PROVIDER_ID" | "EMPTY_OUTPUT_INTERFACES" | "MISSING_INTERFACE_ID" | "MISSING_MODALITY" | "EMPTY_INTERFACE_SCOPE" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED" | "UNSUPPORTED_OUTPUT_SCOPE";
export type OutputInterfaceScopeGate = {
    accepted: boolean;
    reason?: string;
};
export type OutputInterfaceScopeTrace = {
    runtimeId?: string;
    correlationId?: string;
};
export type OutputInterfaceScopeDraft = {
    interfaceId?: string;
    modality?: OutputInterfaceModality | string;
    channels?: readonly (OutputInterfaceChannel | string)[];
    scopes?: readonly string[];
    formatHint?: string;
    required?: boolean;
};
export type OutputInterfaceScopeRequest = {
    providerId?: string;
    modelId?: string;
    outputInterfaces?: readonly OutputInterfaceScopeDraft[];
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    trace?: OutputInterfaceScopeTrace;
    contract?: OutputInterfaceScopeGate;
    governance?: OutputInterfaceScopeGate;
};
export type OutputInterfaceScopeError = {
    code: OutputInterfaceScopeErrorCode;
    message: string;
    boundary: OutputInterfaceScopeBoundary;
    safeForRuntimeInspection: true;
    providerRawShapeExposed: false;
};
export type ScopedOutputInterface = {
    interfaceId: string;
    modality: OutputInterfaceModality | string;
    channels: readonly (OutputInterfaceChannel | string)[];
    scopes: readonly string[];
    formatHint?: string;
    required: boolean;
    bridgeable: boolean;
};
export type OutputInterfaceScopeCompatibility = "compatible" | "partial" | "incompatible";
export type OutputInterfaceScopeGap = {
    interfaceId: string;
    scope: string;
    reason: string;
};
export type OutputInterfaceScopeDefinition = {
    kind: "output-interface-scope";
    providerId: string;
    modelId?: string;
    trace: OutputInterfaceScopeTrace;
    interfaces: readonly ScopedOutputInterface[];
    requestedScopes: readonly string[];
    compatibility: OutputInterfaceScopeCompatibility;
    gaps: readonly OutputInterfaceScopeGap[];
    bridgeReady: boolean;
    providerRawShapeExposed: false;
    unsafeSideEffects: false;
};
export type OutputInterfaceScopeResult = {
    ok: true;
    scope: OutputInterfaceScopeDefinition;
    events: readonly string[];
} | {
    ok: false;
    error: OutputInterfaceScopeError;
    events: readonly string[];
};
export declare const outputInterfaceScopeDescriptor: {
    readonly capability: "output-interface-scope";
    readonly route: "agent_modelAdapter.abstractionLayer.capabilityCompatibilityCore";
    readonly purpose: "normalize provider output interface scopes for bridging-layer compatibility checks";
    readonly providerRawShapeExposed: false;
    readonly unsafeSideEffects: false;
};
export declare function defineOutputInterfaceScope(request?: OutputInterfaceScopeRequest): OutputInterfaceScopeResult;
