/**
 * Pinecone Assistant Data Plane API
 * Pinecone Assistant Engine is a context engine to store and retrieve relevant knowledge from millions of documents at scale. This API supports interactions with assistants.
 *
 * The version of the OpenAPI document: 2025-01
 * Contact: support@pinecone.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { MessageModel } from './MessageModel';
/**
 * The list of queries / chats to chat an assistant
 * @export
 * @interface Chat
 */
export interface Chat {
    /**
     *
     * @type {Array<MessageModel>}
     * @memberof Chat
     */
    messages: Array<MessageModel>;
    /**
     * If false, the assistant will return a single JSON response. If true, the assistant will return a stream of responses.
     * @type {boolean}
     * @memberof Chat
     */
    stream?: boolean;
    /**
     * The large language model to use for answer generation
     * @type {string}
     * @memberof Chat
     */
    model?: ChatModelEnum;
    /**
     * Optionally filter which documents can be retrieved using the following metadata fields.
     * @type {object}
     * @memberof Chat
     */
    filter?: object;
    /**
     * If true, the assistant will be instructed to return a JSON response. Cannot be used with streaming.
     * @type {boolean}
     * @memberof Chat
     */
    jsonResponse?: boolean;
    /**
     * If true, the assistant will be instructed to return highlights from the referenced documents that support its response.
     * @type {boolean}
     * @memberof Chat
     */
    includeHighlights?: boolean;
}
/**
 * @export
 */
export declare const ChatModelEnum: {
    readonly Gpt4o: "gpt-4o";
    readonly Claude35Sonnet: "claude-3-5-sonnet";
};
export type ChatModelEnum = typeof ChatModelEnum[keyof typeof ChatModelEnum];
/**
 * Check if a given object implements the Chat interface.
 */
export declare function instanceOfChat(value: object): boolean;
export declare function ChatFromJSON(json: any): Chat;
export declare function ChatFromJSONTyped(json: any, ignoreDiscriminator: boolean): Chat;
export declare function ChatToJSON(value?: Chat | null): any;
