import type { Filter, FilterContext, FilterResult, JsonObject } from '../types.js';
/**
 * Ensure finish_reason and content invariants on response side:
 * - If tool_calls present, finish_reason defaults to 'tool_calls'
 * - If tool_calls present, message.content=null (Chat path)
 */
export declare class ResponseFinishInvariantsFilter implements Filter<JsonObject> {
    readonly name = "response_finish_invariants";
    readonly stage: FilterContext['stage'];
    apply(input: JsonObject): FilterResult<JsonObject>;
}
