import { GuardrailPlugin, GuardrailPhase, GuardrailContext, GuardrailResult } from '../types.js'; /** * Abstract base class for guardrail plugins */ export declare abstract class BaseGuardrailPlugin implements GuardrailPlugin { abstract name: string; abstract phases: GuardrailPhase[]; enabled: boolean; priority: number; protected config: Record; initialize(config: Record): Promise; abstract execute(phase: GuardrailPhase, context: GuardrailContext): Promise; shutdown(): Promise; /** * Helper to create an 'allow' result */ protected allow(context: GuardrailContext): GuardrailResult; /** * Helper to create a 'block' result */ protected block(context: GuardrailContext, reason: string): GuardrailResult; /** * Helper to create a 'modify' result */ protected modify(context: GuardrailContext): GuardrailResult; /** * Helper to add a violation to context */ protected addViolation(context: GuardrailContext, phase: GuardrailPhase, rule: string, severity: 'info' | 'warning' | 'error' | 'critical', message: string, details?: Record): void; /** * Helper to add a modification to context */ protected addModification(context: GuardrailContext, phase: GuardrailPhase, field: string, reason: string, originalValue?: unknown, newValue?: unknown): void; } //# sourceMappingURL=base-plugin.d.ts.map