/**
 * Built-in reference rubrics. Consumers combine these with domain
 * rubrics. All are deterministic, rule-based — cheap to run + easy
 * to unit-test. LLM-based rubrics are trivially authored by
 * following the StepRubric contract.
 */
import type { StepRubric } from './rubric';
/** Penalize very short or very long assistant outputs. */
export declare function outputLengthRubric(args?: {
    minChars?: number;
    maxChars?: number;
    weight?: number;
}): StepRubric;
/** Reward tool calls that succeeded (status='ok') with an informative result. */
export declare function toolSuccessRubric(args?: {
    weight?: number;
}): StepRubric;
/** Penalize tool calls that duplicate a prior call with identical args. */
export declare function toolNonRedundantRubric(args?: {
    weight?: number;
}): StepRubric;
/** Penalize LLM outputs that contain common refusal markers when a refusal
 *  is NOT expected (caller inverts weight for scenarios where refusal IS expected). */
export declare function nonRefusalRubric(args?: {
    markers?: RegExp[];
    weight?: number;
}): StepRubric;
/** Reward outputs that invoke the next-step tool the trajectory actually uses
 *  (i.e. the LLM span announced "I will call X" and the following tool span IS X). */
export declare function toolIntentAlignmentRubric(args?: {
    weight?: number;
}): StepRubric;
//# sourceMappingURL=builtin-rubrics.d.ts.map