import ChatInterface from "./chat_interface";
import type { ZodType, ZodTypeDef } from "zod";
import type OpenAI from "openai";
import type RateLimiter from "../rate_limiter";
export default class ChatGPT extends ChatInterface {
    model: OpenAI;
    chatParams: OpenAI.ChatCompletionCreateParamsNonStreaming | null;
    history: OpenAI.ChatCompletionMessageParam[];
    rateLimiter: RateLimiter;
    constructor(model: OpenAI, rateLimiter: RateLimiter);
    startChat(params: OpenAI.ChatCompletionCreateParamsNonStreaming): void;
    sendMessage(message: string, format?: ZodType<any, ZodTypeDef, any>): Promise<string>;
    resetChatHistory(): void;
    rollbackLastMessage(): void;
    invalidTranslation(): void;
    invalidStyling(): void;
}
