/** * Environment variables that flatten every editor into one (#817, plan 6.7). * * Each of these is read once per process and applied everywhere, which is * exactly right for a server driving one editor and exactly wrong for a server * driving several: one value cannot describe two projects on two engine * versions, two hosts, or two config overlays. Every one of them now has a * per-project equivalent, and the env var stays the global default that wins. * * Winning is the part that has to be said out loud. A user who sets one of * these and then writes the per-project key gets the env var, silently, in * every session. So while more than one editor is registered, a set variable is * reported by name along with the sessions it flattens and the key that would * tell them apart. At one editor nothing here runs: there is nothing to * flatten and no message to print. */ export interface CollapsingEnvVar { /** The variable that is set. */ variable: string; /** The per-project key that differentiates the sessions when it is unset. */ configKey: string; /** What it decides, in the reader's terms. */ decides: string; } /** * One line per set variable, naming the sessions it applies to. * * Returns nothing at one editor, which is what keeps a single-editor server's * startup output byte-identical. */ export declare function collapsingEnvWarnings(sessionNames: string[], env?: NodeJS.ProcessEnv): string[];