import { PlazbotHttp } from './http';
import { PlazbotOptions, AgentConfig, AgentData, AgentResponse, CreateAgentResult, UpdateAgentResult, WidgetResult, DeleteResult, AgentFileResult, AgentInstructions, AgentPerson, AgentFallbacks, AgentRules } from '../types';
export { PlazbotOptions as AgentOptions };
export declare class Agent extends PlazbotHttp {
    constructor(options: PlazbotOptions);
    addAgent(config: AgentConfig): Promise<CreateAgentResult>;
    updateAgent(agentId: string, config: Partial<AgentConfig>): Promise<UpdateAgentResult>;
    deleteAgent(params: {
        id: string;
    }): Promise<DeleteResult>;
    getAgentById(params: {
        id: string;
    }): Promise<AgentData>;
    getAgents(): Promise<AgentData[]>;
    copyAgent(params: {
        id: string;
    }): Promise<AgentData>;
    getAgentByChannel(params: {
        channel: string;
        key: string;
    }): Promise<AgentData>;
    enableWidget(params: {
        id: string;
        enable?: boolean;
    }): Promise<WidgetResult>;
    onMessage(params: {
        agentId: string;
        question: string;
        sessionId: string;
        file?: string;
        multipleAnswers?: boolean;
    }): Promise<AgentResponse>;
    addFile(params: {
        fileUrl: string;
        reference: string;
        agentId: string;
        tags?: string[];
    }): Promise<AgentFileResult>;
    validateFile(params: {
        fileId: string;
    }): Promise<AgentFileResult>;
    deleteFile(params: {
        fileId: string;
        agentId: string;
    }): Promise<AgentFileResult>;
    setInstructions(agentId: string, instructions: AgentInstructions): Promise<void>;
    setGreeting(agentId: string, greeting: string): Promise<void>;
    setPersona(agentId: string, persona: AgentPerson): Promise<void>;
    setFallbacks(agentId: string, fallbacks: AgentFallbacks): Promise<void>;
    setRules(agentId: string, rules: AgentRules): Promise<void>;
    setTags(agentId: string, tags: string[]): Promise<void>;
    getDebugLogs(agentId: string): Promise<unknown[]>;
    improvePrompt(text: string): Promise<{
        result: string;
    }>;
}
