import { type JsonValue } from "../state/json.js"; export declare const CLIENT_PROTOCOL_VERSION = 1; export declare const CLIENT_PROTOCOL_SCHEMA: "pi-workflows.client.v1"; export declare const MAX_PROTOCOL_MESSAGE_BYTES: number; export declare const CLIENT_OPERATIONS: readonly ["run.start", "run.pause", "run.resume", "run.cancel", "run.restart", "run.changeSettings", "run.status", "run.list", "checkpoint.answer", "decision.answer", "interaction.submit", "interaction.assistant", "interaction.update", "workflowMessage.reportBranch", "workflowTurn.report", "sessionView.clearTerminal", "followUp.queue", "followUp.remove", "session.record", "channel.status", "channel.reload", "channel.recover", "resourceManager.list", "resourceManager.get", "resourceManager.apply", "resourceManager.reconcile", "resourceManager.delete", "server.status", "server.stop", "view.runs.watch", "view.runs.page", "view.run.get", "view.run.watch", "view.run.unwatch", "view.page", "view.content", "view.session.watch", "state.status", "state.verify", "state.backup", "state.prune"]; export declare const CLIENT_OUTCOMES: readonly ["accepted", "adopted", "rejected", "conflict", "notFound", "claimLost", "unavailable"]; export declare const CLIENT_EVENTS: readonly ["runs", "run_snapshot", "run_patch", "run_page", "session_snapshot", "unavailable"]; export type ClientOperation = (typeof CLIENT_OPERATIONS)[number]; export type ClientOutcome = (typeof CLIENT_OUTCOMES)[number]; export type ClientEventName = (typeof CLIENT_EVENTS)[number]; export type ClientHello = { schema: typeof CLIENT_PROTOCOL_SCHEMA; type: "hello"; connectionId: string; packageVersion: string; }; export type ClientRequest = { schema: typeof CLIENT_PROTOCOL_SCHEMA; type: "request"; requestId: string; clientId: string; operation: ClientOperation; idempotencyKey: string; runId?: string; expectedRevision?: number; payload: JsonValue; }; export type ClientResponse = { schema: typeof CLIENT_PROTOCOL_SCHEMA; type: "response"; requestId: string; outcome: ClientOutcome; revision?: number; receipt?: JsonValue; error?: string; }; export type ClientEvent = { schema: typeof CLIENT_PROTOCOL_SCHEMA; type: "event"; subscriptionId: string; event: ClientEventName; revision?: number; runId?: string; payload: JsonValue; }; export type ClientMessage = ClientHello | ClientRequest | ClientResponse | ClientEvent; export declare class ClientProtocolError extends Error { constructor(message: string); } export declare function encodeProtocolMessage(message: ClientMessage): Buffer; export declare function encodeProtocolLine(message: ClientMessage): Buffer; export declare function parseClientMessage(line: string | Buffer): ClientMessage; export declare function parseClientRequest(line: string | Buffer): ClientRequest; export declare function parseClientResponse(line: string | Buffer): ClientResponse; export declare function clientRequestFingerprint(request: ClientRequest): Buffer; export declare function clientSocketPath(databasePath: string): string; export declare class NdjsonFrameDecoder { private readonly maxMessageBytes; private readonly oversizedMessage; private buffered; constructor(maxMessageBytes?: number, oversizedMessage?: string); push(chunk: Buffer): Buffer[]; }