import { GenerationType, ModelSettings } from "@inkeep/agents-core";
import { z } from "zod";

//#region src/domains/run/tools/distill-utils.d.ts
declare function distillWithTruncation<TSchema extends z.ZodType>(opts: {
  conversationId: string;
  summarizerModel: ModelSettings | undefined;
  schema: TSchema;
  buildPrompt: (formattedMessages: string) => string;
  messageFormatter: (maxChars?: number) => string;
  usageContext?: {
    tenantId: string;
    projectId: string;
    agentId: string;
    generationType: GenerationType;
  };
}): Promise<z.infer<TSchema>>;
//#endregion
export { distillWithTruncation };