/** * The environment readers the lifecycle hook relay calls. They live apart from `config.ts`, which * imports the core barrel, because a hook process that loaded that barrel would load the NATS * client, zod and yaml on every lifecycle event and use none of them. */ import { type LaunchMaterial } from "@cotal-ai/core/launch-material"; /** Resolve the launch-material file, if this launch uses one. Refuses the two-carrier case: a * material file AND direct material vars means two answers to "who is this session", and picking * one silently is how a seat ends up connected as something nobody chose. An unreadable or * permissive file throws from {@link readLaunchMaterial} - never a fall back to the env, which * would turn a broken launch into a quietly different one. */ export declare function readMaterial(env: NodeJS.ProcessEnv): LaunchMaterial | undefined; /** * Resolve this session's local control endpoint. The socket path comes from * `COTAL_CONTROL_SOCKET`. The token comes from the launch material, or from * `COTAL_CONTROL_TOKEN` when no material file is supplied. * * {@link readMaterial} refuses a material file together with direct material variables, * including `COTAL_CONTROL_TOKEN`. * * Returns `undefined` when neither socket path nor token is present. Throws when only one is * present. */ export declare function controlFromEnv(env?: NodeJS.ProcessEnv): { path: string; token: string; } | undefined; /** True iff the env carries a Cotal identity — i.e. this is a launcher-spawned * session, not an operator's plain `claude`. `COTAL_LINK` / `COTAL_AGENT_FILE` * count: setting either is itself the explicit opt-in. The connector stays * inert otherwise. */ export declare function hasIdentity(env?: NodeJS.ProcessEnv): boolean; //# sourceMappingURL=session-env.d.ts.map