import { z } from "zod"; import type { SandboxNotice } from "../../events/sandbox-notice.js"; export declare const HANDOFF_MODES: readonly ["carry", "trim", "summary"]; export declare const HandoffModeSchema: z.ZodEnum<{ carry: "carry"; summary: "summary"; trim: "trim"; }>; export type HandoffMode = z.infer; export declare const LimitHandoffSchema: z.ZodEnum<{ carry: "carry"; suggested: "suggested"; summary: "summary"; trim: "trim"; }>; export type LimitHandoff = z.infer; export declare const TRIM_KEEPS_RESULTS = 10; export declare const HandoffOfferSchema: z.ZodObject<{ suggested: z.ZodEnum<{ carry: "carry"; summary: "summary"; trim: "trim"; }>; basis: z.ZodEnum<{ setting: "setting"; size: "size"; }>; carry: z.ZodOptional; }, z.core.$strip>>; trim: z.ZodOptional>; summary: z.ZodOptional; }, z.core.$strip>>; chosen: z.ZodOptional>; }, z.core.$strip>; export type HandoffOffer = z.infer; export declare const ChooseHandoffSchema: z.ZodObject<{ conversationId: z.ZodString; handoff: z.ZodEnum<{ carry: "carry"; summary: "summary"; trim: "trim"; }>; }, z.core.$strip>; export type ChooseHandoff = z.infer; export declare const handoffAvailable: (offer: HandoffOffer, mode: HandoffMode) => boolean; export declare const suggestHandoff: (tokens: number | undefined, available: (mode: HandoffMode) => boolean, thresholds: { readonly carryUnder: number; readonly summaryOver: number; }) => HandoffMode | undefined; export declare const HandedOffSchema: z.ZodObject<{ mode: z.ZodEnum<{ carry: "carry"; summary: "summary"; trim: "trim"; }>; tokens: z.ZodOptional; from: z.ZodOptional; cleared: z.ZodOptional; model: z.ZodOptional; fellBack: z.ZodOptional; }, z.core.$strip>; export type HandedOff = z.infer; export declare const handedOffNotice: (event: HandedOff) => Extract; export declare const handedOffLine: (event: HandedOff) => string; //# sourceMappingURL=handoff.d.ts.map