import { z } from "@hono/zod-openapi";

//#region src/validation/event-schemas.d.ts

/**
 * Agent transfer event data
 * Used when an agent transfers control to another agent
 */
declare const TransferDataSchema: z.ZodObject<{
  fromSubAgent: z.ZodString;
  targetSubAgent: z.ZodString;
  reason: z.ZodOptional<z.ZodString>;
  context: z.ZodOptional<z.ZodAny>;
}, z.core.$strip>;
type TransferData = z.infer<typeof TransferDataSchema>;
/**
 * Delegation sent event data
 * Used when an agent delegates a task to another agent
 */
declare const DelegationSentDataSchema: z.ZodObject<{
  delegationId: z.ZodString;
  fromSubAgent: z.ZodString;
  targetSubAgent: z.ZodString;
  taskDescription: z.ZodString;
  context: z.ZodOptional<z.ZodAny>;
}, z.core.$strip>;
type DelegationSentData = z.infer<typeof DelegationSentDataSchema>;
/**
 * Delegation returned event data
 * Used when a delegated task is completed and returned
 */
declare const DelegationReturnedDataSchema: z.ZodObject<{
  delegationId: z.ZodString;
  fromSubAgent: z.ZodString;
  targetSubAgent: z.ZodString;
  result: z.ZodOptional<z.ZodAny>;
}, z.core.$strip>;
type DelegationReturnedData = z.infer<typeof DelegationReturnedDataSchema>;
/**
 * Data operation event details
 * Used for emit operations and agent data events
 */
declare const DataOperationDetailsSchema: z.ZodObject<{
  timestamp: z.ZodNumber;
  subAgentId: z.ZodString;
  data: z.ZodAny;
}, z.core.$strip>;
type DataOperationDetails = z.infer<typeof DataOperationDetailsSchema>;
/**
 * Complete data operation event
 * Includes type and label for user-facing display
 */
declare const DataOperationEventSchema: z.ZodObject<{
  type: z.ZodString;
  label: z.ZodString;
  details: z.ZodObject<{
    timestamp: z.ZodNumber;
    subAgentId: z.ZodString;
    data: z.ZodAny;
  }, z.core.$strip>;
}, z.core.$strip>;
type DataOperationEvent = z.infer<typeof DataOperationEventSchema>;
/**
 * Message metadata for A2A communication
 * Used in message passing between agents
 */
declare const A2AMessageMetadataSchema: z.ZodObject<{
  fromSubAgentId: z.ZodOptional<z.ZodString>;
  toSubAgentId: z.ZodOptional<z.ZodString>;
  fromExternalAgentId: z.ZodOptional<z.ZodString>;
  toExternalAgentId: z.ZodOptional<z.ZodString>;
  taskId: z.ZodOptional<z.ZodString>;
  a2aTaskId: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
type A2AMessageMetadata = z.infer<typeof A2AMessageMetadataSchema>;
//#endregion
export { A2AMessageMetadata, A2AMessageMetadataSchema, DataOperationDetails, DataOperationDetailsSchema, DataOperationEvent, DataOperationEventSchema, DelegationReturnedData, DelegationReturnedDataSchema, DelegationSentData, DelegationSentDataSchema, TransferData, TransferDataSchema };