import type { Db } from "@rudderhq/db";
import type { ChatConversation } from "@rudderhq/shared";
import type { StorageService } from "../storage/types.js";
import { ChatAssistantResult, GenerateChatAssistantReplyInput, StreamChatAssistantReplyInput, StreamChatAssistantReplyResult } from "./chat-assistant.helpers.js";
export * from "./chat-assistant.helpers.js";
export declare function chatAssistantService(db: Db, storage?: StorageService): {
    enrichConversation: <T extends ChatConversation>(conversation: T) => Promise<T>;
    enrichConversations: <T extends ChatConversation>(conversations: T[]) => Promise<T[]>;
    getChatAssistantAvailability: (conversation: ChatConversation) => Promise<{
        available: true;
        sourceType: "agent" | "unconfigured";
        sourceLabel: string;
        runtimeAgentId: string | null;
        agentRuntimeType: string | null;
        model: string | null;
        error: string | null;
    } | {
        available: false;
        error: string | null;
        sourceType: "agent" | "unconfigured";
        sourceLabel: string;
        runtimeAgentId: string | null;
        agentRuntimeType: string | null;
        model: string | null;
    }>;
    generateChatAssistantReply: (input: GenerateChatAssistantReplyInput) => Promise<ChatAssistantResult>;
    streamChatAssistantReply: (input: StreamChatAssistantReplyInput) => Promise<StreamChatAssistantReplyResult>;
};
//# sourceMappingURL=chat-assistant.d.ts.map