import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type Headers = {
    /**
     * Header value. **Update behavior**: Provide empty string ("") to preserve existing encrypted value without re-entering credentials. Provide new value to rotate. Omit header entirely to remove.
     */
    value: string;
    encrypted?: boolean | undefined;
};
export type PostV2AgentsA2aRequestBody = {
    /**
     * Unique identifier for the agent
     */
    key: string;
    /**
     * Display name for the agent
     */
    displayName: string;
    /**
     * Description of the agent
     */
    description: string;
    /**
     * Project path for organizing the agent
     */
    path: string;
    /**
     * The A2A agent endpoint URL
     */
    agentUrl: string;
    /**
     * Optional explicit agent card URL (must be different from agent_url)
     */
    cardUrl?: string | undefined;
    /**
     * Authentication headers for the A2A agent
     */
    headers?: {
        [k: string]: Headers;
    } | undefined;
};
export declare const PostV2AgentsA2aType: {
    readonly A2a: "a2a";
    readonly Internal: "internal";
};
export type PostV2AgentsA2aType = ClosedEnum<typeof PostV2AgentsA2aType>;
export type PostV2AgentsA2aMetrics = {
    totalCost: number;
};
export type A2a = {
    agentUrl: string;
    cardUrl?: string | undefined;
    headers: {
        [k: string]: any;
    };
    cachedCard?: any | undefined;
};
/**
 * A2A agent registered successfully
 */
export type PostV2AgentsA2aResponseBody = {
    id: string;
    type: PostV2AgentsA2aType;
    key: string;
    displayName: string;
    description: string;
    workspaceId: string;
    projectId: string;
    createdById?: string | null | undefined;
    updatedById?: string | null | undefined;
    role?: string | undefined;
    instructions?: string | undefined;
    status: string;
    path: string;
    metrics: PostV2AgentsA2aMetrics;
    memoryStores: Array<string>;
    teamOfAgents: Array<any>;
    created?: string | undefined;
    updated?: string | undefined;
    a2a?: A2a | undefined;
};
/** @internal */
export type Headers$Outbound = {
    value: string;
    encrypted: boolean;
};
/** @internal */
export declare const Headers$outboundSchema: z.ZodType<Headers$Outbound, z.ZodTypeDef, Headers>;
export declare function headersToJSON(headers: Headers): string;
/** @internal */
export type PostV2AgentsA2aRequestBody$Outbound = {
    key: string;
    display_name: string;
    description: string;
    path: string;
    agent_url: string;
    card_url?: string | undefined;
    headers?: {
        [k: string]: Headers$Outbound;
    } | undefined;
};
/** @internal */
export declare const PostV2AgentsA2aRequestBody$outboundSchema: z.ZodType<PostV2AgentsA2aRequestBody$Outbound, z.ZodTypeDef, PostV2AgentsA2aRequestBody>;
export declare function postV2AgentsA2aRequestBodyToJSON(postV2AgentsA2aRequestBody: PostV2AgentsA2aRequestBody): string;
/** @internal */
export declare const PostV2AgentsA2aType$inboundSchema: z.ZodNativeEnum<typeof PostV2AgentsA2aType>;
/** @internal */
export declare const PostV2AgentsA2aMetrics$inboundSchema: z.ZodType<PostV2AgentsA2aMetrics, z.ZodTypeDef, unknown>;
export declare function postV2AgentsA2aMetricsFromJSON(jsonString: string): SafeParseResult<PostV2AgentsA2aMetrics, SDKValidationError>;
/** @internal */
export declare const A2a$inboundSchema: z.ZodType<A2a, z.ZodTypeDef, unknown>;
export declare function a2aFromJSON(jsonString: string): SafeParseResult<A2a, SDKValidationError>;
/** @internal */
export declare const PostV2AgentsA2aResponseBody$inboundSchema: z.ZodType<PostV2AgentsA2aResponseBody, z.ZodTypeDef, unknown>;
export declare function postV2AgentsA2aResponseBodyFromJSON(jsonString: string): SafeParseResult<PostV2AgentsA2aResponseBody, SDKValidationError>;
//# sourceMappingURL=postv2agentsa2a.d.ts.map