import { MessageSendParams, SendMessageSuccessResponse, GetTaskSuccessResponse, CancelTaskSuccessResponse, SendStreamingMessageSuccessResponse, TaskQueryParams, TaskIdParams, JSONRPCError, AgentCard } from "../types/types.ts";
declare function fetchAgentCard(baseUrl: string, path?: string): Promise<AgentCard>;
declare class A2AClient {
    private _url;
    private _agentCard;
    private static idCounter;
    private static idCounterBound;
    constructor(agentCard: AgentCard);
    private static getNewId;
    private jsonRpcRequest;
    sendMessage(params: MessageSendParams): Promise<SendMessageSuccessResponse["result"] | JSONRPCError>;
    getTask(params: TaskQueryParams): Promise<GetTaskSuccessResponse["result"] | JSONRPCError>;
    cancelTask(params: TaskIdParams): Promise<CancelTaskSuccessResponse["result"] | JSONRPCError>;
    sendStreamMessage(params: MessageSendParams): AsyncGenerator<SendStreamingMessageSuccessResponse["result"] | JSONRPCError | undefined>;
    resubscribeTask(params: TaskIdParams): AsyncGenerator<SendStreamingMessageSuccessResponse["result"] | JSONRPCError | undefined>;
    private parseSSEStream;
    get agentCard(): AgentCard;
    static getClientFromUrl(baseUrl: string, path?: string): Promise<A2AClient>;
}
export { A2AClient, fetchAgentCard };
