export interface EnforceConfigValidation { /** Tokens in IBX_KERNEL_SHADOW that are absent from `knownIntents`. */ readonly unknownShadow: readonly string[]; /** Tokens in IBX_KERNEL_ENFORCE that are absent from `knownIntents`. */ readonly unknownEnforce: readonly string[]; } /** * Validate that every token in `IBX_KERNEL_SHADOW` and * `IBX_KERNEL_ENFORCE` is present in `knownIntents` (typically the union * of every installed Pack's `intents`). Unrecognized tokens silently * leave their intent on the legacy path — exactly the cutover hazard * the staged rollout is trying to prevent. T7 surfaces the typo as a * one-time `console.warn` plus a `recordSinkFailure({ errorClass: * "enforce_config_typo" })` so an operator dashboards the misconfig. * * Wildcard `*` is honoured (no token check). * * Adopters call this once at boot, after `installPack` and before * traffic. Returns the parsed sets for further inspection. */ export declare function validateEnforceConfig(knownIntents: ReadonlySet, env?: NodeJS.ProcessEnv, warn?: (msg: string) => void): EnforceConfigValidation; interface KillSwitchState { readonly active: boolean; readonly reason: string; readonly toggledAt: string; } /** * Toggle the kill switch. Subsequent `adjudicate()` calls return SECURITY * refusals with code `kill_switch_active`. Setting `active = false` releases * the switch — adjudication resumes for all intent kinds. * * The toggle itself is an operator action — adopters who wire `auditKillSwitchToggle()` * (see `getKillSwitchAuditEvent`) can persist it to their AuditSink. */ export declare function setKillSwitch(active: boolean, reason: string): void; /** * Is the kill switch currently active? * * `env` defaults to a one-time module snapshot of `process.env` (captured at * import), NOT live `process.env` — see `KILL_SWITCH_ENV_SNAPSHOT`. Pass an * explicit env to force a (one-shot) re-seed; the memo still gates it. */ export declare function isKilled(env?: NodeJS.ProcessEnv): boolean; /** * Read the current kill-switch state (active flag, reason, toggle timestamp). * Used by adopters that want to surface the reason in user-facing messages, * or to emit a synthetic AuditRecord on toggle. * * `env` defaults to the one-time module snapshot (not live `process.env`), * matching `isKilled` — keeps the adjudicate() hot path off mutable env. */ export declare function getKillSwitchState(env?: NodeJS.ProcessEnv): KillSwitchState; /** @internal — reset for tests. */ export declare function _resetKillSwitch(): void; export {}; //# sourceMappingURL=enforce-config.d.ts.map