import type { ApplicationModelAdapter, ApplicationModelInvocationInput, ApplicationModelInvocationResult } from "./applicationAdapter.js";
export type ApplicationInterfaceProbeBoundary = "input" | "contract" | "governance" | "scope" | "compatibility" | "invocation";
export type ApplicationInterfaceProbeRequest = {
    runtimeId?: string;
    probeId?: string;
    adapter?: ApplicationModelAdapter;
    expectedCapabilityIds?: readonly string[];
    expectedFormatIds?: readonly string[];
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    sampleInput?: ApplicationModelInvocationInput;
    executeDryRun?: boolean;
};
export type ApplicationInterfaceProbeErrorCode = "MISSING_RUNTIME_ID" | "MISSING_PROBE_ID" | "MISSING_ADAPTER" | "RUNTIME_MISMATCH" | "ADAPTER_NOT_READY" | "SCOPE_DENIED" | "DRY_RUN_FAILED";
export type ApplicationInterfaceProbeError = {
    code: ApplicationInterfaceProbeErrorCode;
    message: string;
    boundary: ApplicationInterfaceProbeBoundary;
    safeForRuntimeInspection: true;
};
export type ApplicationInterfaceGap = {
    kind: "capability" | "format";
    id: string;
    reason: "missing" | "unavailable";
};
export type ApplicationInterfaceProbeReport = {
    kind: "agentCore.modelAdapter.applicationInterfaceProbe";
    runtimeId: string;
    probeId: string;
    adapterId: string;
    interfaceUsable: boolean;
    gaps: readonly ApplicationInterfaceGap[];
    acceptedScopes: readonly string[];
    dryRun: {
        executed: boolean;
        ok: boolean;
        providerPayloadCreated: false;
        unsafeSideEffects: false;
    };
    providerPayloadCreated: false;
    unsafeSideEffects: false;
};
export type ApplicationInterfaceProbeResult = {
    ok: true;
    report: ApplicationInterfaceProbeReport;
    invocation?: ApplicationModelInvocationResult;
    events: readonly string[];
} | {
    ok: false;
    error: ApplicationInterfaceProbeError;
    events: readonly string[];
};
export declare const applicationInterfaceTestDescriptor: {
    readonly capability: "application-interface-test";
    readonly route: "agent_modelAdapter.bridgingLayer";
    readonly purpose: "probe the direct agentCore-facing model adapter interface without reaching provider APIs";
    readonly providerPayloadCreated: false;
    readonly unsafeSideEffects: false;
};
export declare function runApplicationModelInterfaceProbe(request?: ApplicationInterfaceProbeRequest): Promise<ApplicationInterfaceProbeResult>;
