import { Agent, RunConfig, Guardrail } from './types.js';
export declare function buildEffectiveGuardrails<Ctx>(currentAgent: Agent<Ctx, any>, config: RunConfig<Ctx>): Promise<{
    inputGuardrails: Guardrail<string>[];
    outputGuardrails: Guardrail<any>[];
}>;
export declare function executeInputGuardrailsSequential<Ctx>(inputGuardrails: Guardrail<string>[], firstUserMessage: any, config: RunConfig<Ctx>): Promise<{
    isValid: true;
} | {
    isValid: false;
    errorMessage: string;
}>;
export declare function executeInputGuardrailsParallel<Ctx>(inputGuardrails: Guardrail<string>[], firstUserMessage: any, config: RunConfig<Ctx>): Promise<{
    isValid: true;
} | {
    isValid: false;
    errorMessage: string;
}>;
export declare function executeOutputGuardrails<Ctx>(outputGuardrails: Guardrail<any>[], output: any, config: RunConfig<Ctx>): Promise<{
    isValid: true;
} | {
    isValid: false;
    errorMessage: string;
}>;
export declare function cleanupCircuitBreakers(): void;
export declare const guardrailCacheManager: {
    getStats: () => {
        size: number;
        maxSize: number;
        hitRatio?: number;
    };
    clear: () => void;
    getMetrics: () => {
        utilizationPercent: number;
        circuitBreakersCount: number;
        size: number;
        maxSize: number;
        hitRatio?: number;
    };
    logStats: () => void;
    cleanup: () => void;
};
//# sourceMappingURL=guardrails.d.ts.map