import { ModuleRef } from "@nestjs/core";
import { EntityManager } from 'typeorm';
import { InvokeAiPromptDto } from '../dtos/invoke-ai-prompt.dto';
import { McpResponse, TriggerMcpClientOptions } from '../interfaces';
import { AiInteractionRepository } from '../repository/ai-interaction.repository';
import { CRUDService } from '../services/crud.service';
import { AiInteraction } from '../entities/ai-interaction.entity';
import { McpHandlerFactory } from './genai/mcp-handlers/mcp-handler-factory.service';
import { PublisherFactory } from './queues/publisher-factory.service';
export declare class AiInteractionService extends CRUDService<AiInteraction> {
    readonly entityManager: EntityManager;
    readonly repo: AiInteractionRepository;
    readonly moduleRef: ModuleRef;
    readonly publisherFactory: PublisherFactory<TriggerMcpClientOptions>;
    readonly mcpHandlerFactory: McpHandlerFactory;
    private readonly logger;
    constructor(entityManager: EntityManager, repo: AiInteractionRepository, moduleRef: ModuleRef, publisherFactory: PublisherFactory<TriggerMcpClientOptions>, mcpHandlerFactory: McpHandlerFactory);
    triggerMcpClientJob(dto: InvokeAiPromptDto, userId: number, isAutoApply?: boolean, threadId?: string): Promise<any>;
    runMcpPrompt(prompt: string): Promise<McpResponse>;
    cleanResponse(response: string): string;
    applySolidAiInteraction(id: number): Promise<any>;
}
//# sourceMappingURL=ai-interaction.service.d.ts.map