import type { LocalModelTier } from '../../integrations/cloud/llm/local-tier.js'; export declare const MAX_MARKDOWN_CHARS = 6000; export interface LocalLlmRequest { schema: Record; html: string; url: string; /** Resolved local-model tier (endpoint + model) from resolveLocalModelTier. */ tier: LocalModelTier; } /** * Ask the local model to fill a schema from the DETERMINISTIC pre-extraction of * a page (structured brief + trimmed markdown) rather than raw HTML. The result * is parsed + validated against the schema by runLlmJson. On any failure — * timeout, non-200, invalid JSON, transport error — this returns `null` so the * caller falls back to the deterministic path. Never throws. * * The resolved tier's endpoint/model are threaded to runLlmJson via the * per-call `backend` override — NOT process.env. That keeps the call routed to * the local server without ever mutating ambient env, so concurrent extract * calls can never corrupt a shared WIGOLO_LLM_PROVIDER (which would silently * reroute cloud→local for every other subsystem for the rest of the process). */ export declare function extractWithLocalLlm(request: LocalLlmRequest): Promise | null>; //# sourceMappingURL=local-llm.d.ts.map