/** * @license * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Content, GenerateContentResult, GenerateContentStreamResult, Part, RequestOptions, SingleRequestOptions, StartChatParams } from "../../types"; /** * ChatSession class that enables sending chat messages and stores * history of sent and received messages so far. * * @public */ export declare class ChatSession { model: string; params?: StartChatParams; private _requestOptions; private _apiKey; private _history; private _sendPromise; constructor(apiKey: string, model: string, params?: StartChatParams, _requestOptions?: RequestOptions); /** * Gets the chat history so far. Blocked prompts are not added to history. * Blocked candidates are not added to history, nor are the prompts that * generated them. */ getHistory(): Promise; /** * Sends a chat message and receives a non-streaming * {@link GenerateContentResult}. * * Fields set in the optional {@link SingleRequestOptions} parameter will * take precedence over the {@link RequestOptions} values provided to * {@link GoogleGenerativeAI.getGenerativeModel }. */ sendMessage(request: string | Array, requestOptions?: SingleRequestOptions): Promise; /** * Sends a chat message and receives the response as a * {@link GenerateContentStreamResult} containing an iterable stream * and a response promise. * * Fields set in the optional {@link SingleRequestOptions} parameter will * take precedence over the {@link RequestOptions} values provided to * {@link GoogleGenerativeAI.getGenerativeModel }. */ sendMessageStream(request: string | Array, requestOptions?: SingleRequestOptions): Promise; }