import { z } from "zod"; import type { Focus } from "./port.js"; export declare const SessionRequestSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ op: z.ZodLiteral<"get">; }, z.core.$strict>, z.ZodObject<{ op: z.ZodLiteral<"navigate">; traceId: z.ZodString; rowId: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ op: z.ZodLiteral<"reload">; }, z.core.$strict>, z.ZodObject<{ op: z.ZodLiteral<"pick">; }, z.core.$strict>], "op">; export type SessionRequest = z.infer; export type FocusReply = Focus & { logPath: string; commentsPath: string | undefined; }; export type SessionReply = { ok: true; focus?: FocusReply; } | { ok: false; error: string; }; /** The default wait for a reply. A suspended viewer accepts the connection * (the kernel queues it) and never answers; without this, `session list` * would hang on it. */ export declare const SESSION_TIMEOUT_MS = 1500;