import type { CapabilityRequest, GuardianAssessment } from "@best-agent/protocol";
export interface GuardianEvaluatorOptions {
    enabled?: boolean;
    model?: string;
    threshold?: number;
    timeoutMs?: number;
}
export interface GuardianEvaluationResult {
    assessment: GuardianAssessment;
    autoApprove: boolean;
}
export interface GuardianRecentMessage {
    role: "assistant" | "user";
    text: string;
}
export interface GuardianModelInvocationInput {
    prompt: string;
    systemPrompt: string;
    timeoutMs: number;
}
export interface GuardianModelAssessmentInput {
    invokeModel?: (input: GuardianModelInvocationInput) => Promise<string>;
    policySummary?: string;
    recentMessages?: GuardianRecentMessage[];
}
export declare class GuardianEvaluator {
    #private;
    constructor(options?: GuardianEvaluatorOptions);
    get enabled(): boolean;
    get model(): string | undefined;
    get timeoutMs(): number;
    assess(request: CapabilityRequest): GuardianEvaluationResult | null;
    assessAsync(request: CapabilityRequest, input?: GuardianModelAssessmentInput): Promise<GuardianEvaluationResult | null>;
}
//# sourceMappingURL=guardian-evaluator.d.ts.map