import { DeleteDTO } from '../dto/delete.dto';
import { AiService } from './ai.service';
import { ChatAgentDTO } from './dto/chat-agent.dto';
import { ChatDTO } from './dto/chat.dto';
import { CreateAgentDTO } from './dto/create-agent.dto';
import { UpdateAgentDTO } from './dto/update-agent.dto';
export declare class AiController {
    private readonly aiService;
    constructor(aiService: AiService);
    chat(data: ChatDTO, file?: MulterFile): Promise<{
        provider: "openai";
        model: string;
        content: any;
    } | {
        provider: "gemini";
        model: string;
        content: any;
    }>;
    createAgent(data: CreateAgentDTO): Promise<{
        id: number;
        slug: string;
        provider: "openai" | "gemini";
        model: string | null;
        instructions: string | null;
        external_agent_id: string | null;
        created_at: Date;
        updated_at: Date;
    }>;
    listAgents(paginationParams: any): Promise<{
        data: {
            id: number;
            slug: string;
            provider: "openai" | "gemini";
            model: string | null;
            instructions: string | null;
            external_agent_id: string | null;
            created_at: Date;
            updated_at: Date;
        }[];
        total: number;
        page: number;
        pageSize: number;
        totalPages: number;
    }>;
    getAgentById(agentId: number): Promise<{
        id: number;
        slug: string;
        provider: "openai" | "gemini";
        model: string | null;
        instructions: string | null;
        external_agent_id: string | null;
        created_at: Date;
        updated_at: Date;
    }>;
    getAgent(slug: string): Promise<{
        id: number;
        slug: string;
        provider: "openai" | "gemini";
        model: string | null;
        instructions: string | null;
        external_agent_id: string | null;
        created_at: Date;
        updated_at: Date;
    }>;
    updateAgent(agentId: number, data: UpdateAgentDTO): Promise<{
        id: number;
        slug: string;
        provider: "openai" | "gemini";
        model: string | null;
        instructions: string | null;
        external_agent_id: string | null;
        created_at: Date;
        updated_at: Date;
    }>;
    deleteAgents(data: DeleteDTO): Promise<{
        count: number;
    }>;
    chatWithAgent(slug: string, data: ChatAgentDTO, file?: MulterFile): Promise<{
        slug: string;
        provider: "openai";
        model: string;
        content: any;
    } | {
        slug: string;
        provider: "gemini";
        model: string;
        content: any;
    }>;
}
//# sourceMappingURL=ai.controller.d.ts.map