import { type CustomFormatCapabilityBoundary, type CustomFormatCapabilityClaimInput, type CustomFormatCapabilityGate, type CustomFormatCapabilityTrace, type CustomFormatReceivedCapability } from "./capabilityReceiver.js";
export type CustomFormatCapabilityDefinitionClaim = CustomFormatCapabilityClaimInput;
export type CustomFormatCapabilityDefinitionRequest = {
    providerId?: string;
    endpointId?: string;
    claims?: readonly CustomFormatCapabilityDefinitionClaim[];
    trace?: CustomFormatCapabilityTrace;
    contract?: CustomFormatCapabilityGate;
    governance?: CustomFormatCapabilityGate;
    metadata?: Readonly<Record<string, unknown>>;
};
export type CustomFormatCapabilityDefinition = {
    providerId: string;
    endpointId: string;
    capabilities: readonly CustomFormatReceivedCapability[];
    capabilityIds: readonly string[];
    metadata: Readonly<Record<string, unknown>>;
    trace: CustomFormatCapabilityTrace;
    abstractionHandoff: {
        target: "agent_modelAdapter.abstractionLayer";
        rawProviderFieldsExposed: false;
        customFormatPromotedToPraxisStandard: false;
    };
    audit: {
        definedBy: "customFormat.capabilityDefiner";
        dryRun: true;
        unsafeSideEffects: false;
    };
};
export type CustomFormatCapabilityDefinitionErrorCode = "MISSING_PROVIDER_ID" | "MISSING_ENDPOINT_ID" | "MISSING_CLAIMS" | "CLAIM_REJECTED" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED";
export type CustomFormatCapabilityDefinitionError = {
    code: CustomFormatCapabilityDefinitionErrorCode;
    message: string;
    boundary: CustomFormatCapabilityBoundary;
    safeForRuntimeInspection: true;
    rawProviderFieldsExposed: false;
};
export type CustomFormatCapabilityDefinitionResult = {
    ok: true;
    definition: CustomFormatCapabilityDefinition;
    events: readonly string[];
} | {
    ok: false;
    error: CustomFormatCapabilityDefinitionError;
    events: readonly string[];
};
export declare const customFormatCapabilityDefinerDescriptor: {
    readonly layer: "agent_modelAdapter.actualInvocationLayer.customFormat";
    readonly capability: "customFormat.capabilityDefiner";
    readonly purpose: "define claimed custom provider capabilities for later abstraction without live provider calls";
    readonly dryRun: true;
    readonly unsafeSideEffects: false;
    readonly handoff: "agent_modelAdapter.abstractionLayer";
};
export declare function defineCustomFormatCapabilities(request?: CustomFormatCapabilityDefinitionRequest): CustomFormatCapabilityDefinitionResult;
