/**
 * Copyright 2025 The Artinet Project
 * SPDX-License-Identifier: Apache-2.0
 */
import { A2A } from "../../../types/index.js";
export interface A2AEnv {
    /**
     * The service is the main interface for the A2A protocol.
     * It is used to send messages, get tasks, and cancel tasks.
     * In the future, we may want to dynamically change the service based on the path.
     * (e.g. multiple services for different paths/agents. an MCP Service. a factory function. etc.)
     */
    service: A2A.Service;
    context?: A2A.Context;
}
export declare const router: import("@trpc/server").TRPCRouterBuilder<{
    ctx: A2AEnv;
    meta: object;
    errorShape: import("@trpc/server").TRPCDefaultErrorShape;
    transformer: false;
}>;
export declare const publicProcedure: import("@trpc/server").TRPCProcedureBuilder<A2AEnv, object, object, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, false>;
export declare const createA2AEnviroment: (opts: any) => any;
export declare const A2AProcedure: import("@trpc/server").TRPCProcedureBuilder<A2AEnv, object, {
    service: A2A.Service;
    context: A2A.Context | undefined;
}, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, false>;
