import type { AgentCard } from '@a2a-js/sdk';
import type { AgentExecutionOptionsBase } from '../agent/agent.types.js';
import type { MessageListInput } from '../agent/message-list/index.js';
import type { SubAgent } from '../agent/subagent.js';
import type { Mastra } from '../mastra/index.js';
import type { MastraMemory } from '../memory/memory.js';
import { RequestContext } from '../request-context/index.js';
import type { DynamicArgument } from '../types/index.js';
import type { A2AAgentGenerateResult, A2AAgentOptions, A2AAgentStreamResult } from './types.js';
export declare class A2AAgent implements SubAgent {
    #private;
    readonly id: string;
    readonly name: string;
    constructor(options: A2AAgentOptions);
    getAgentCard({ forceRefresh }?: {
        forceRefresh?: boolean;
    }): Promise<AgentCard>;
    getDescription(): string;
    getModel: SubAgent['getModel'];
    hasOwnMemory(): boolean;
    __setMemory(memory: DynamicArgument<MastraMemory>): void;
    getMemory({ requestContext }?: {
        requestContext?: RequestContext;
    }): Promise<MastraMemory | undefined>;
    getInstructions: SubAgent['getInstructions'];
    __registerMastra(mastra: Mastra): void;
    generate(messages: MessageListInput, options?: AgentExecutionOptionsBase<unknown>): Promise<A2AAgentGenerateResult>;
    resumeGenerate(resumeData: unknown, options?: AgentExecutionOptionsBase<unknown>): Promise<A2AAgentGenerateResult>;
    stream(messages: MessageListInput, options?: AgentExecutionOptionsBase<unknown>): Promise<A2AAgentStreamResult>;
    resumeStream(resumeData: unknown, options?: AgentExecutionOptionsBase<unknown>): Promise<A2AAgentStreamResult>;
}
//# sourceMappingURL=a2a-agent.d.ts.map