import type { ParsedArgs } from "./args.js"; import type { EnvField } from "../introspect.js"; interface InspectEnvBranch { env: string; /** Missing if no branch is defined for the requested env. */ missing?: true; /** Merged defaults + perEnv[env]. Todo sentinels serialise as `{ "$todo": reason }`. */ config?: unknown; } interface InspectResult { ok: boolean; config: string; envKey: string; overrideEnvKey?: string; envOverrides?: Record; envSchema: readonly EnvField[]; branches: InspectEnvBranch[]; } interface WorkspaceInspectResult { ok: boolean; workspaceRoot: string; packages: Array<{ name: string; configPath: string; result: InspectResult | { ok: false; error: string; }; }>; } /** * `node-settings inspect [--env ]` — show what env contract and * layered config (defaults + perEnv[mode]) resolve to at a given env. * * Runs in *dry mode*: it does not call the loader, so no env values * (and no secrets) are required. Useful for answering "what does my * prod config actually look like?" without needing prod credentials. */ export declare function runInspect(args: ParsedArgs): Promise; declare function buildInspectResult(configPath: string | undefined, args: ParsedArgs): Promise; export { buildInspectResult }; export type { InspectResult, InspectEnvBranch, WorkspaceInspectResult }; //# sourceMappingURL=inspect.d.ts.map