export type BasicToolAdapterFamily = "code" | "shell" | "git" | "mcp" | "computeruse" | "office" | "omni" | "search" | "skill" | "custom";
export type BasicToolAdapterBoundary = "input" | "contract" | "governance" | "scope";
export type BasicToolAdapterGate = {
    accepted: boolean;
    reason?: string;
};
export type BasicToolAdapterContext = {
    runtimeId?: string;
    sessionId?: string;
    invocationId?: string;
    dryRun?: boolean;
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    contract?: BasicToolAdapterGate;
    governance?: BasicToolAdapterGate;
    auditMetadata?: Readonly<Record<string, unknown>>;
};
export type RuntimeToolInvocationRequest = {
    context?: BasicToolAdapterContext;
    toolId?: string;
    family?: BasicToolAdapterFamily;
    operation?: string;
    arguments?: Readonly<Record<string, unknown>>;
    cwd?: string;
    resourceLimits?: {
        timeoutMs?: number;
        maxOutputBytes?: number;
    };
};
export type BasicToolAdapterErrorCode = "MISSING_RUNTIME_ID" | "MISSING_INVOCATION_ID" | "MISSING_TOOL_ID" | "INVALID_ARGUMENTS" | "INVALID_CWD" | "INVALID_TIMEOUT" | "INVALID_OUTPUT_LIMIT" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED" | "REAL_EXECUTION_BLOCKED";
export type BasicToolAdapterError = {
    code: BasicToolAdapterErrorCode;
    message: string;
    boundary: BasicToolAdapterBoundary;
    publicSafe: true;
    internalDetailExposed: false;
};
export type BasicToolExecutableInvocation = {
    kind: "agentCore.basicTool.executableInvocation";
    runtimeId: string;
    sessionId?: string;
    invocationId: string;
    toolId: string;
    family: BasicToolAdapterFamily;
    operation: string;
    arguments: Readonly<Record<string, unknown>>;
    cwd?: string;
    resourceLimits: {
        timeoutMs?: number;
        maxOutputBytes?: number;
    };
    acceptedScopes: readonly string[];
    dispatch: "dry-run";
    dryRun: true;
    unsafeSideEffects: false;
    tapHandoff: {
        eligible: true;
        envelopeId: string;
    };
    audit: {
        event: "agentCore.basicTool.invocationAdapter.adapted";
        metadata: Readonly<Record<string, unknown>>;
    };
};
export type BasicToolAdapterResult = {
    ok: true;
    invocation: BasicToolExecutableInvocation;
    events: readonly string[];
} | {
    ok: false;
    error: BasicToolAdapterError;
    events: readonly string[];
};
export declare const basicToolInvocationAdapterDescriptor: {
    readonly capability: "adapt-runtime-tool-invocation-to-basic-tool-primitive";
    readonly layer: "agent_executionEngine.basic_toolLayer.invocationAdapter";
    readonly dispatch: "dry-run";
    readonly unsafeSideEffects: false;
    readonly tapHandoffEligible: true;
};
export declare function adaptRuntimeToolInvocation(request?: RuntimeToolInvocationRequest): BasicToolAdapterResult;
