import { z } from 'zod'; import type { NegotiationAction, NegotiationTurn } from '../../shared/schemas/negotiation-state.schema.js'; /** Model-visible directives for the dedicated Hermes negotiation bridge. */ export declare const HermesNegotiationActionSchema: z.ZodEnum<["accept", "decline", "request_time", "continue"]>; export type HermesNegotiationAction = z.infer; export declare const HermesRoleAlignmentSchema: z.ZodEnum<["peers", "owner_leads", "counterparty_leads"]>; export type HermesRoleAlignment = z.infer; /** * No model-authored prose is accepted at this boundary. Strict parsing also * prevents model-selected run IDs or capabilities from entering tool arguments. */ export declare const HermesNegotiationResponseSchema: z.ZodObject<{ action: z.ZodEnum<["accept", "decline", "request_time", "continue"]>; roleAlignment: z.ZodEnum<["peers", "owner_leads", "counterparty_leads"]>; }, "strict", z.ZodTypeAny, { action: "accept" | "decline" | "request_time" | "continue"; roleAlignment: "peers" | "owner_leads" | "counterparty_leads"; }, { action: "accept" | "decline" | "request_time" | "continue"; roleAlignment: "peers" | "owner_leads" | "counterparty_leads"; }>; export type HermesNegotiationResponse = z.infer; /** Only privacy-reviewed server prose can enter the shared transcript. */ export declare const HERMES_SHARED_MESSAGE_TEMPLATES: Readonly>; export declare const HermesOwnerDirectiveSchema: z.ZodEnum<["protect_private_context"]>; export type HermesOwnerDirective = z.infer; export declare const HERMES_OWNER_DIRECTIVE: HermesOwnerDirective; /** Project exact seat/version actions into the closed Hermes vocabulary. */ export declare function allowedHermesActionsFor(allowedActions: readonly NegotiationAction[]): HermesNegotiationAction[]; /** Build the complete persisted turn without using any model-authored prose. */ export declare function buildHermesNegotiationTurn(input: HermesNegotiationResponse, allowedActions: readonly NegotiationAction[]): NegotiationTurn | null;