/**
 * AgentCard — A2A v1.2 (Linux Foundation, 150+ orgs).
 *
 * Sprint-563: B8 — AgentCard + A2A v1.2 + Signed Agent Cards (CH8 activation).
 *
 * Converts a Vauban AgentDescriptor into an A2A v1.2-compliant AgentCard.
 * Signed AgentCards activate CH8: Trace.agentSignature is computed from
 * the agent's identity key.
 */
export interface A2AAgentCapabilities {
    streaming?: boolean;
    pushNotifications?: boolean;
    stateTransitionHistory?: boolean;
}
export interface A2ASkill {
    id: string;
    name: string;
    description: string;
    tags?: string[];
    inputSchema?: Record<string, unknown>;
    outputSchema?: Record<string, unknown>;
}
export interface A2AAgentCard {
    /** Agent Card spec version. */
    protocolVersion: "1.2";
    /** Human-readable name. */
    name: string;
    /** Natural language description. */
    description: string;
    /** Globally unique agent identifier. */
    url: string;
    /** Provider/org name. */
    provider?: string;
    /** Agent version (semver). */
    version: string;
    /** IANA media type for default input (default: application/json). */
    defaultInputModes?: string[];
    /** IANA media type for default output. */
    defaultOutputModes?: string[];
    /** Agent capabilities (streaming, push, state history). */
    capabilities: A2AAgentCapabilities;
    /** Exposed skills. */
    skills: A2ASkill[];
    /** Optional signature (CH8 activation). */
    signature?: string;
}
export interface AgentCardOptions {
    /** Base URL for the agent (e.g. "https://agents.vauban.tech"). */
    baseUrl: string;
    /** Provider/organization name. */
    provider?: string;
    /** Capabilities override. */
    capabilities?: Partial<A2AAgentCapabilities>;
    /** Signing key for CH8 Signed Agent Cards. */
    signingKey?: {
        sign: (payload: string) => Promise<string>;
    };
}
/**
 * Convert a Vauban AgentDescriptor into an A2A v1.2 AgentCard.
 *
 * Usage:
 *   import { toAgentCard } from "@vauban-org/agent-sdk";
 *   const card = await toAgentCard(descriptor, skills, { baseUrl: "https://agents.vauban.tech" });
 */
export declare function toAgentCard(descriptor: {
    agentId: string;
    name: string;
    description: string;
    version: string;
    capabilities?: string[];
}, skills: Array<{
    name: string;
    description: string;
    inputSchema?: Record<string, unknown>;
    outputSchema?: Record<string, unknown>;
    tags?: string[];
}>, opts: AgentCardOptions): Promise<A2AAgentCard>;
/**
 * Validate that an AgentCard has all required fields per A2A v1.2 spec.
 */
export declare function validateAgentCard(card: A2AAgentCard): {
    valid: boolean;
    errors: string[];
};
//# sourceMappingURL=agent-card.d.ts.map