import { type BoundedSensitiveValues } from '../../../shared/utils/sensitiveText.js'; import type { OpenCodeStreamEvent } from '../OpenCodeStreamHandler.js'; import type { ResolvedOpenCodeGuardPolicy } from './policy.js'; import type { OpenCodeGuard, OpenCodeGuardLifecycleScope, OpenCodeGuardVerdict } from './types.js'; declare abstract class ByteVolumeGuard implements OpenCodeGuard { private readonly partType; private readonly byteLimit; private readonly reason; abstract readonly id: string; readonly layer: "resource"; private bytes; private readonly offsets; constructor(partType: 'text' | 'reasoning', byteLimit: number, reason: 'text_bytes' | 'reasoning_bytes'); onEvent(event: OpenCodeStreamEvent): OpenCodeGuardVerdict | undefined; } export declare class TextVolumeGuard extends ByteVolumeGuard { readonly id = "text-volume"; constructor(policy: ResolvedOpenCodeGuardPolicy); } export declare class ReasoningVolumeGuard extends ByteVolumeGuard { readonly id = "reasoning-volume"; constructor(policy: ResolvedOpenCodeGuardPolicy); } export declare class EventCountGuard implements OpenCodeGuard { private readonly limit; readonly id = "event-count"; readonly layer: "resource"; private count; constructor(limit: number); onEvent(event: OpenCodeStreamEvent): OpenCodeGuardVerdict | undefined; } export declare class TrackedIdsGuard implements OpenCodeGuard { private readonly limit; readonly id = "tracked-ids"; readonly layer: "resource"; private readonly ids; constructor(limit: number); onEvent(event: OpenCodeStreamEvent): OpenCodeGuardVerdict | undefined; private extractId; } export declare class SensitiveBudgetGuard implements OpenCodeGuard { readonly sensitiveValues: BoundedSensitiveValues; readonly id = "sensitive-budget"; readonly layer: "integrity"; private readonly latestInputHashes; constructor(sensitiveValues: BoundedSensitiveValues); start(scope: OpenCodeGuardLifecycleScope): void; onInitialSource(source: unknown): OpenCodeGuardVerdict | undefined; private collect; onEvent(event: OpenCodeStreamEvent): OpenCodeGuardVerdict | undefined; } export {}; //# sourceMappingURL=resource-guards.d.ts.map