export type OutputInterfaceFormatBoundary = "input" | "contract" | "governance" | "scope" | "format";
export type OutputInterfaceFormatGate = {
    accepted: boolean;
    reason?: string;
};
export type OutputInterfaceFormatDeclaration = {
    formatId?: string;
    mediaType?: string;
    providerKey?: string;
    direction?: "output" | "bidirectional";
    streaming?: boolean;
    structured?: boolean;
    schemaRef?: string;
    available?: boolean;
};
export type OutputInterfaceFormatRequest = {
    runtimeId?: string;
    sourceInterfaceId?: string;
    providerId?: string;
    formats?: readonly OutputInterfaceFormatDeclaration[];
    requiredFormats?: readonly string[];
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    contract?: OutputInterfaceFormatGate;
    governance?: OutputInterfaceFormatGate;
};
export type OutputInterfaceFormatErrorCode = "MISSING_RUNTIME_ID" | "MISSING_INTERFACE_ID" | "MISSING_FORMAT" | "INVALID_DIRECTION" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED";
export type OutputInterfaceFormatError = {
    code: OutputInterfaceFormatErrorCode;
    message: string;
    boundary: OutputInterfaceFormatBoundary;
    safeForRuntimeInspection: true;
};
export type NormalizedOutputInterfaceFormat = {
    formatId: string;
    mediaType?: string;
    providerKey?: string;
    direction: "output" | "bidirectional";
    streaming: boolean;
    structured: boolean;
    schemaRef?: string;
    available: boolean;
};
export type OutputInterfaceFormatEnvelope = {
    kind: "agentCore.modelAdapter.outputInterfaceFormat";
    runtimeId: string;
    sourceInterfaceId: string;
    providerId?: string;
    formats: readonly NormalizedOutputInterfaceFormat[];
    requiredFormats: readonly string[];
    missingFormats: readonly string[];
    compatible: boolean;
    acceptedScopes: readonly string[];
    bridgeReadiness: "ready" | "blocked-by-missing-format";
    providerPayloadCreated: false;
    unsafeSideEffects: false;
};
export type OutputInterfaceFormatResult = {
    ok: true;
    envelope: OutputInterfaceFormatEnvelope;
    events: readonly string[];
} | {
    ok: false;
    error: OutputInterfaceFormatError;
    events: readonly string[];
};
export declare const outputInterfaceFormatDescriptor: {
    readonly capability: "output-interface-format";
    readonly route: "agent_modelAdapter.abstractionLayer.capabilityCompatibilityCore";
    readonly purpose: "normalize provider output format signals into a bridge-ready compatibility envelope";
    readonly providerPayloadCreated: false;
    readonly unsafeSideEffects: false;
};
export declare function defineOutputInterfaceFormats(request?: OutputInterfaceFormatRequest): OutputInterfaceFormatResult;
