/**
 * ToolsetGuard — thin enforcement point for executor sandboxes.
 *
 * Story 10.1 + 10.2 — OpenLife v1.4.
 *
 * Wraps `ToolsetRegistry.isAllowed()` with an env-flag gate so v1.4 can
 * land enforcement at all 5 critical execution sites without breaking
 * existing flows. Default: OFF.
 *
 * Locked decision 1 of v1.4 plan: `OPENLIFE_TOOLSET_ENFORCEMENT=on` is
 * opt-in for v1.4; flips to default-on in v1.5 after soak.
 *
 * Stable error code: `toolset_blocked:<category>`.
 */
import { ToolsetCategory } from './ToolsetSchema';
export declare class ToolsetBlockedError extends Error {
    readonly code: string;
    readonly toolset: ToolsetCategory;
    constructor(toolset: ToolsetCategory, reason: string);
}
/**
 * Check whether a toolset category is allowed for the current process.
 *
 * - When `OPENLIFE_TOOLSET_ENFORCEMENT` is anything other than 'on',
 *   returns true unconditionally (enforcement disabled).
 * - When enabled, consults the active Profile via ToolsetRegistry.
 *
 * Never throws — callers wanting to throw use `assertAllowed`.
 */
export declare function isToolsetAllowed(toolset: ToolsetCategory): boolean;
/**
 * Throw `ToolsetBlockedError` if the toolset is not allowed. Use at
 * hook points before spawning processes, writing files, or making
 * network calls.
 */
export declare function assertToolsetAllowed(toolset: ToolsetCategory, hint?: string): void;
/** Test seam — reset the cache so a test can swap profiles. */
export declare function _resetToolsetGuardCache(): void;
