import type { Message } from "@earendil-works/pi-ai";
import type { SummarizeConfig } from "../config.js";
type ChatSession = {
    id: string;
    lastMeta: {
        model: string | null;
        modelLabel: string | null;
        inputSummary: string | null;
        summaryFromCache: boolean | null;
    };
};
type ChatEvent = {
    event: string;
    data?: unknown;
};
export declare function streamChatResponse({ env, fetchImpl, configForCli, session: _session, pageUrl, pageTitle, pageContent, messages, modelOverride, pushToSession, emitMeta, }: {
    env: Record<string, string | undefined>;
    fetchImpl: typeof fetch;
    configForCli?: SummarizeConfig | null;
    session: ChatSession;
    pageUrl: string;
    pageTitle: string | null;
    pageContent: string;
    messages: Message[];
    modelOverride: string | null;
    pushToSession: (event: ChatEvent) => void;
    emitMeta: (patch: Partial<ChatSession["lastMeta"]>) => void;
}): Promise<void>;
export {};
