/** Best-effort, preemptible standing-prefix warmup for loopback OpenAI-compatible models. */ import type { AgentTool, StreamFn } from "@caupulican/pi-agent-core/types"; import type { Api, Model, SimpleStreamOptions } from "@caupulican/pi-ai"; import type { RequestAuth } from "./request-auth.ts"; export interface LocalPrefixWarmControllerDeps { getStreamFn(): StreamFn; getTools(): AgentTool[]; getSystemPrompt(): string; getRequestHooks(): Pick; isRawStreamSimple(streamFn: StreamFn): boolean; getRequiredRequestAuth(model: Model): Promise; ensureManagedModelReady(model: Model): Promise; } export declare function isWarmableLocalModel(model: Model): boolean; export declare class LocalPrefixWarmController { private readonly deps; private active; private readonly completed; constructor(deps: LocalPrefixWarmControllerDeps); schedule(model: Model | undefined): void; cancel(): void; private run; } //# sourceMappingURL=local-prefix-warm-controller.d.ts.map