export { AIShield } from "./shield.js"; export { HeuristicScanner, normalizeForInjectionScan, collapseSpacedLetters, deTagForInjectionScan, hasTagChars, leetDecodeForInjectionScan, unscrambleForInjectionScan, damerauLevenshtein, type HeuristicConfig, } from "./scanner/heuristic.js"; export { PIIScanner } from "./scanner/pii.js"; export { ScannerChain, type ChainConfig } from "./scanner/chain.js"; export { injectCanary, checkCanaryLeak } from "./scanner/canary.js"; export { IngestionScanner, scanIngested, scanToolOutput, trustTierForSource, tryDecodeObfuscation, type IngestionScannerConfig, type IngestionScanResult, } from "./scanner/ingestion.js"; export { OutputScanner, scanOutput, type OutputScanConfig, type OutputScanResult, type OutputSink, } from "./scanner/output.js"; export { wrapContext, scanWrappedContext, assemblePrompt, flattenViolations, propagateTrust, type WrapContextInput, type AssembleOptions, type AgentHop, type PropagateTrustOptions, type TrustPropagationResult, } from "./context/wrap-context.js"; export { createAsyncJudge, type AsyncJudge, type AsyncJudgeConfig, type JudgeVerdict, type JudgeBackend, type JudgeBackendLike, } from "./judge/async-judge.js"; export { createDualLLM, createActionScreener, type LLMBackend, type DualLLMConfig, type DualLLM, type QuarantineResult, type ActionScreenerConfig, type ActionScreenResult, } from "./orchestration/dual-llm.js"; export { mintMemoryCanary, verifyMemoryCanary, rotateMemoryCanary, buildSentinelEntry, bulkVerify, type MintMemoryCanaryOptions, } from "./canary/memory.js"; export { PolicyEngine, type PolicyPreset } from "./policy/engine.js"; export { ToolPolicyScanner } from "./policy/tools.js"; export { CircuitBreakerRegistry, makeBreakerScope, type CircuitBreakerOptions, } from "./policy/circuit-breaker.js"; export { CostTracker, type RedisLike } from "./cost/tracker.js"; export { detectAnomaly, type AnomalyResult } from "./cost/anomaly.js"; export { getModelPricing, estimateCost, MODEL_PRICING } from "./cost/pricing.js"; export { AuditLogger, ConsoleAuditStore, MemoryAuditStore } from "./audit/logger.js"; export type { AuditStore } from "./audit/types.js"; export { ScanLRUCache, type LRUCacheConfig } from "./cache/lru.js"; export type { ScanDecision, ScanResult, ScannerResult, Scanner, ScanContext, Violation, ViolationType, IngestionSource, TrustTier, ContextSegment, WrappedContext, MemoryCanaryEntry, MemoryCanaryVerification, CircuitState, CircuitBreakerConfig, CircuitBreakerDecision, CounterStoreLike, PIIType, PIIAction, PIIEntity, PIIConfig, ToolCall, ToolPermissions, ToolPolicy, ToolManifestPin, BudgetPeriod, BudgetConfig, CostEstimate, CostRecord, BudgetCheckResult, ModelPricing, AuditRecord, AuditConfig, ShieldConfig, InjectionConfig, CostConfig, CacheConfig, ToolConfig, PresetName, } from "./types.js"; import type { ShieldConfig, ScanResult, ScanContext } from "./types.js"; /** * Quick scan — one line, maximum protection. * * **Performance warning:** This creates a new AIShield instance on every call. * For production use with multiple calls, create a single `new AIShield(config)` * instance and reuse it — this avoids repeated scanner chain setup and teardown. * * Use `createShieldSingleton()` for a cached version that reuses a single instance. */ export declare function shield(input: string, configOrContext?: ShieldConfig | ScanContext): Promise; /** * Create a cached shield function that reuses a single AIShield instance. * Much better performance than `shield()` for repeated calls. * * @example * ```ts * const scan = createShieldSingleton({ injection: { strictness: "high" } }); * const r1 = await scan("input 1"); * const r2 = await scan("input 2"); * // Call scan.close() when done (e.g., on process exit) * await scan.close(); * ``` */ export declare function createShieldSingleton(config?: ShieldConfig): { (input: string, context?: ScanContext): Promise; close(): Promise; }; //# sourceMappingURL=index.d.ts.map