import type { GuardrailRule, GuardrailContext, GuardrailViolation, GuardrailState, GuardrailConfig, GuardrailResult } from "../types/guardrails";
export declare class GuardrailEngine {
    private rules;
    private config;
    private state;
    constructor(config: GuardrailConfig);
    private createInitialState;
    private generateCallbackId;
    check(context: GuardrailContext): GuardrailResult;
    private shouldRetry;
    private shouldHalt;
    getState(): GuardrailState;
    reset(): void;
    addRule(rule: GuardrailRule): void;
    removeRule(ruleName: string): boolean;
    getViolationsByRule(ruleName: string): GuardrailViolation[];
    getAllViolations(): GuardrailViolation[];
    hasViolations(): boolean;
    hasFatalViolations(): boolean;
    hasErrorViolations(): boolean;
}
export declare function createGuardrailEngine(rules: GuardrailRule[], options?: Partial<GuardrailConfig>): GuardrailEngine;
export declare function checkGuardrails(context: GuardrailContext, rules: GuardrailRule[]): GuardrailResult;
//# sourceMappingURL=engine.d.ts.map