import { MemoryGuardTier, MemoryModificationGuard } from "./types.js"; import { ApiBoundaryGuardOptions } from "./api-boundary-guard.js"; import { AuditOnlyGuardOptions } from "./audit-only-guard.js"; import { StrictFullGuardOptions } from "./strict-full-guard.js"; //#region src/guard/factory.d.ts /** * Tier-tagged options union. `'memory-aware'` requires the call-path * recorder; the other tiers only take optional metadata. * * @stable */ type CreateGuardOptions = { readonly tier: 'pure'; } | { readonly tier: 'side-effecting-no-memory'; } | ({ readonly tier: 'memory-aware'; } & ApiBoundaryGuardOptions) | ({ readonly tier: 'unknown'; } & AuditOnlyGuardOptions) | ({ readonly tier: 'untrusted'; } & StrictFullGuardOptions); /** * Construct a guard for the supplied tier. * * @stable */ declare function createGuard(opts: CreateGuardOptions): MemoryModificationGuard; /** * Look up the guard variant identifier for a tier. Useful for * structured logging. * * @stable */ declare function guardVariantForTier(tier: MemoryGuardTier): 'NO_GUARD' | 'API_BOUNDARY_GUARD' | 'AUDIT_ONLY_GUARD' | 'STRICT_FULL_GUARD'; //#endregion export { CreateGuardOptions, createGuard, guardVariantForTier }; //# sourceMappingURL=factory.d.ts.map