import { Status } from "../../../../DataFrame";
import { ResponseResult } from "../../../FieldChangeResult";
import { ChatServiceErrorCode } from "../../ChatService";
import { IChatImplementation, IMessage } from "../../IChatService";
export interface IGptChat extends IChatImplementation {
    GetChatConfigurationAsync(): Promise<ChatGptConfiguration | ResponseResult<ChatServiceErrorCode>>;
    SetChatConfigurationAsync(config: ChatGptConfiguration): Promise<Status>;
    IsGptChatAvailableAsync(): Promise<boolean>;
}
export interface IGptChatMessage extends IMessage {
    get ControllerActivities(): Map<ControllerActivity, Map<string, string>>;
    get Errors(): Map<ChatGptClientError, string>;
}
export declare enum ControllerActivity {
    None = 0,
    ChangeDeviceState = 1
}
export declare class ChatGptConfiguration {
    ApiUrl: string | null;
    ApiKey: string;
    ChatGPTModel: GptModel;
    MaxTokens: number;
}
export declare enum GptModel {
    GPT3_5_TURBO = "gpt-3.5-turbo",
    GPT3_5_TURBO_16K = "gpt-3.5-turbo-16k",
    GPT4 = "gpt-4"
}
export declare enum ChatGptClientError {
    UnknownError = 0,
    ChatNotConfigured = 1,
    MessageNotSend = 2,
    InvalidMessageResponseFormat = 3
}
