/**
 * Pure translation helpers between the relaycast wire shapes and relay's
 * domain types. Everything in this module is stateless: it reads loosely-typed
 * records (`unknown`) coming off the relaycast SDK and produces relay-facing
 * objects, or shapes relay inputs into relaycast request payloads.
 *
 * Keeping these free functions out of `RelaycastMessagingClient` lets the
 * stateful client focus on transport/lifecycle while the wire mapping stays
 * independently testable.
 */
import type { RelayActionInvocation, RelayActionInvocationAck, RelayCapability, RelayCompleteInvocationInput, RelayInboundWebhook, RelayMessageAttachmentInput, RelayMessageListOptions, RelayNode, RelayNodeCapability, RelayRegisterCapabilityInput, RelayTrigger, RelayTriggerInput, RelayWebhookSubscription, RelayWorkspaceFleetNodesConfig } from './types.js';
export declare function asRecord(value: unknown): Record<string, unknown>;
export declare function readStr(record: Record<string, unknown>, ...keys: string[]): string | undefined;
/**
 * Translate a relay capability registration into a relaycast `actions.register`
 * request. Relaycast 2.x replaced the `commands` registry with `actions`:
 * `command` → `name`, `parameters` → `inputSchema`.
 */
export declare function toRegisterActionRequest(input: RelayRegisterCapabilityInput): Record<string, unknown>;
export declare function toTriggerRequest(input: RelayTriggerInput | Partial<RelayTriggerInput>): Record<string, unknown>;
/** Translate a relay completion result into the relaycast `CompleteInvocationRequest` shape. */
export declare function toCompleteInvocationRequest(data: RelayCompleteInvocationInput): Record<string, unknown>;
/**
 * Translate a relaycast `ActionDefinition` back into a relay `RelayCapability`,
 * preserving the relay-facing `command`/`parameters` vocabulary.
 */
export declare function toRelayCapability(raw: unknown): RelayCapability;
export declare function toRelayNode(raw: unknown): RelayNode;
export declare function toRelayNodeCapability(raw: unknown): RelayNodeCapability;
export declare function toRelayTrigger(raw: unknown): RelayTrigger;
export declare function toRelayWorkspaceFleetNodesConfig(raw: unknown): RelayWorkspaceFleetNodesConfig;
/** Normalize a relaycast invoke ack (camelized) into the relay `RelayActionInvocationAck`. */
export declare function normalizeActionInvocationAck(raw: unknown): RelayActionInvocationAck;
/** Normalize a relaycast invocation record (camelized) into `RelayActionInvocation`. */
export declare function normalizeActionInvocation(raw: unknown): RelayActionInvocation;
/** Normalize a relaycast inbound webhook (snake_case) into `RelayInboundWebhook`. */
export declare function normalizeInboundWebhook(raw: unknown): RelayInboundWebhook;
/** Normalize a relaycast event subscription into `RelayWebhookSubscription`. */
export declare function normalizeWebhookSubscription(raw: unknown): RelayWebhookSubscription;
export declare function definedOptions<T extends Record<string, unknown>>(options: T): Partial<T>;
export declare function toMessageListOptions(options?: RelayMessageListOptions): RelayMessageListOptions | undefined;
export declare function serializeAttachmentInputs(input?: RelayMessageAttachmentInput[]): string[] | undefined;
//# sourceMappingURL=relaycast-translate.d.ts.map