import { ChatGptRoles, ChatGptResponse, ChatGptCompletionParams } from './types';
/**
 * Main class for make requests
 */
export declare class ChatGptApi {
    private apiKey;
    private aiModel;
    private role;
    private messages;
    private isDebug;
    constructor(apiKey: string, aiModel?: string, role?: ChatGptRoles);
    enableDebugging(): void;
    disableDebugging(): void;
    /**
     * Set AI engine model for generating response
     * @param aiModel
     */
    setAiModel(aiModel: string): void;
    private printLog;
    /**
     * Set role for single
     * @param role
     */
    setRole(role: ChatGptRoles): void;
    /**
     * Clean messages
     * @private
     */
    private resetMessages;
    /**
     * Build request data for sending to ChatGPT API
     * @param completionParams
     * @private
     */
    private buildRequest;
    /**
     * Add new message
     * @param role
     * @param content
     */
    addMessage(role: ChatGptRoles, content: string): void;
    /**
     * Return answers for multiple requests
     * @param completionParams
     */
    processMultipleMessages(completionParams?: ChatGptCompletionParams): Promise<ChatGptResponse>;
    /**
     * Return answer for single request
     * @param content
     * @param completionParams
     */
    getAnswer(content: string, completionParams?: ChatGptCompletionParams): Promise<ChatGptResponse>;
}
