/** ResearchEgressGuard — online-research egress axis, default false (Sprint 3, ADR-6 lineage). */ import type { BoberConfig } from "../config/schema.js"; /** The single research egress axis. Defaults FALSE (code-enforced zero-egress). */ export type EgressAxis = "online-research"; /** * Guards outbound online-research egress. * * A single axis — onlineResearch — defaults to false. * isAllowed returns false by default; assertAllowed throws when off. * All default false when absent from config (fail-closed, ADR-6 lineage). * * bober: plain decision object; no network import here; swap for ABAC policy if * per-user granularity is needed. */ export declare class ResearchEgressGuard { private readonly onlineResearch; constructor(onlineResearch: boolean); /** Build from BoberConfig research section; axis defaults false when absent. */ static fromConfig(config: BoberConfig): ResearchEgressGuard; /** Returns true only when the axis has been explicitly opted in via config. */ isAllowed(axis: EgressAxis): boolean; /** * Throws an Error when the axis is not enabled. * Returns void (not throws) when the axis is allowed. */ assertAllowed(axis: EgressAxis): void; } //# sourceMappingURL=egress.d.ts.map