/**
 * Stable agent-identity key derivation, shared between the agents directory
 * service and the recent-activity service.
 *
 * Keep this in sync with `inspector/src/components/shared/agent_badge.ts`
 * `getAttributionKey()` — both must agree on keys so URLs round-trip.
 *
 * Priority order:
 *   1. `thumb:<agent_thumbprint>`       (AAuth-verified rows)
 *   2. `sub:<agent_sub>`                (JWT subject, no thumbprint)
 *   3. `name:<client_name>[@version]`   (unverified MCP clientInfo)
 *   4. `anonymous`                      (no identifying provenance)
 */
export declare const ANONYMOUS_AGENT_KEY = "anonymous";
export interface AgentKeyFields {
    agent_thumbprint?: string | null;
    agent_sub?: string | null;
    client_name?: string | null;
    client_version?: string | null;
}
export declare function deriveAgentKey(fields: AgentKeyFields): string;
/** Convenience: pull the four fields out of a parsed provenance blob. */
export declare function deriveAgentKeyFromProvenance(provenance: Record<string, unknown> | null | undefined): string;
//# sourceMappingURL=agent_key.d.ts.map