/**
 * Chariot API
 * API for interacting with various language models.
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { Configuration } from './configuration';
import type { AxiosInstance, AxiosRequestConfig } from 'axios';
import type { RequestArgs } from './base';
import { BaseAPI } from './base';
/**
 * Main Application model
 * @export
 * @interface Application
 */
export interface Application {
    /**
     * Timestamp of when the application was created.
     * @type {string}
     * @memberof Application
     */
    'created_at'?: string;
    /**
     * Description of the application.
     * @type {string}
     * @memberof Application
     */
    'description'?: string;
    /**
     * Unique identifier for the application.
     * @type {string}
     * @memberof Application
     */
    'id': string;
    /**
     *
     * @type {LanguageModel}
     * @memberof Application
     */
    'model'?: LanguageModel;
    /**
     * Name of the application.
     * @type {string}
     * @memberof Application
     */
    'name': string;
    /**
     * Directions for the language model to follow when generating completions. Included in each conversation.
     * @type {string}
     * @memberof Application
     */
    'system_message'?: string;
    /**
     * Timestamp of when the application was last updated.
     * @type {string}
     * @memberof Application
     */
    'updated_at'?: string;
}
/**
 * Main Conversation model
 * @export
 * @interface Conversation
 */
export interface Conversation {
    /**
     * Unique identifier for the application this conversation is associated with.
     * @type {string}
     * @memberof Conversation
     */
    'application_id'?: string;
    /**
     * Total number of completion tokens used by the convesation.
     * @type {number}
     * @memberof Conversation
     */
    'completion_tokens'?: number;
    /**
     * Timestamp of when the conversation was created.
     * @type {string}
     * @memberof Conversation
     */
    'created_at'?: string;
    /**
     * Unique identifier for the conversation.
     * @type {string}
     * @memberof Conversation
     */
    'id'?: string;
    /**
     * List of messages in the conversation.
     * @type {Array<Message>}
     * @memberof Conversation
     */
    'messages'?: Array<Message>;
    /**
     * Total number of prompt tokens used by the convesation.
     * @type {number}
     * @memberof Conversation
     */
    'prompt_tokens'?: number;
    /**
     * Title of the conversation. This is auto generated by the language model at creation time based on the context of the first message and can be updated.
     * @type {string}
     * @memberof Conversation
     */
    'title'?: string;
    /**
     * Total tokens used by the convesation.
     * @type {number}
     * @memberof Conversation
     */
    'total_tokens'?: number;
    /**
     * Timestamp of when the conversation was last updated.
     * @type {string}
     * @memberof Conversation
     */
    'updated_at'?: string;
}
/**
 * Conversation response
 * @export
 * @interface ConversationResponse
 */
export interface ConversationResponse {
    /**
     * Unique identifier for the conversation.
     * @type {string}
     * @memberof ConversationResponse
     */
    'conversation_id': string;
    /**
     * Response message generated by the language model.
     * @type {string}
     * @memberof ConversationResponse
     */
    'message': string;
    /**
     * List of sources used by the language model to generate the response message.
     * @type {Array<MessageSource>}
     * @memberof ConversationResponse
     */
    'sources'?: Array<MessageSource>;
    /**
     * Title of the conversation.
     * @type {string}
     * @memberof ConversationResponse
     */
    'title': string;
}
/**
 * Create application model
 * @export
 * @interface CreateApplication
 */
export interface CreateApplication {
    /**
     * Description of the application.
     * @type {string}
     * @memberof CreateApplication
     */
    'description'?: string;
    /**
     *
     * @type {LanguageModel}
     * @memberof CreateApplication
     */
    'model'?: LanguageModel;
    /**
     * Name of the application.
     * @type {string}
     * @memberof CreateApplication
     */
    'name': string;
    /**
     * Directions for the language model to follow when generating completions. Included in each conversation.
     * @type {string}
     * @memberof CreateApplication
     */
    'system_message'?: string;
}
/**
 * Create conversation model
 * @export
 * @interface CreateOrContinueConversation
 */
export interface CreateOrContinueConversation {
    /**
     * Unique identifier for the application this conversation is associated with. This field is required when starting a new conversation.
     * @type {string}
     * @memberof CreateOrContinueConversation
     */
    'application_id'?: string;
    /**
     * Unique identifier for the conversation. If not provided, a new conversation will be created.
     * @type {string}
     * @memberof CreateOrContinueConversation
     */
    'conversation_id'?: string;
    /**
     * Message to start or continue the conversation with.
     * @type {string}
     * @memberof CreateOrContinueConversation
     */
    'message': string;
    /**
     * If true, the response will be streamed using [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events)
     * @type {boolean}
     * @memberof CreateOrContinueConversation
     */
    'stream'?: boolean;
}
/**
 * Create source request
 * @export
 * @interface CreateSource
 */
export interface CreateSource {
    /**
     * Unique identifier for the application this source should be associated with.
     * @type {string}
     * @memberof CreateSource
     */
    'application_id': string;
    /**
     * Source content. This can be text, a list of URLs to crawl, or a file.
     * @type {any}
     * @memberof CreateSource
     */
    'content': any;
    /**
     * Name of the source. Used when displaying where information came from in a conversation.
     * @type {string}
     * @memberof CreateSource
     */
    'name': string;
    /**
     * Type of source. Used to determine how to process the source.
     * @type {string}
     * @memberof CreateSource
     */
    'type': string;
}
/**
 * An enumeration.
 * @export
 * @enum {string}
 */
export declare const EmbedStatus: {
    readonly Pending: "PENDING";
    readonly Success: "SUCCESS";
    readonly Error: "ERROR";
};
export declare type EmbedStatus = typeof EmbedStatus[keyof typeof EmbedStatus];
/**
 *
 * @export
 * @interface HTTPValidationError
 */
export interface HTTPValidationError {
    /**
     *
     * @type {Array<ValidationError>}
     * @memberof HTTPValidationError
     */
    'detail'?: Array<ValidationError>;
}
/**
 * An enumeration.
 * @export
 * @enum {string}
 */
export declare const LanguageModel: {
    readonly _35Turbo: "gpt-3.5-turbo";
    readonly _4: "gpt-4";
};
export declare type LanguageModel = typeof LanguageModel[keyof typeof LanguageModel];
/**
 *
 * @export
 * @interface LocationInner
 */
export interface LocationInner {
}
/**
 * Base message
 * @export
 * @interface Message
 */
export interface Message {
    /**
     *
     * @type {string}
     * @memberof Message
     */
    'content': string;
    /**
     *
     * @type {string}
     * @memberof Message
     */
    'role': string;
    /**
     *
     * @type {Array<MessageSource>}
     * @memberof Message
     */
    'sources'?: Array<MessageSource>;
}
/**
 * Source
 * @export
 * @interface MessageSource
 */
export interface MessageSource {
    /**
     *
     * @type {number}
     * @memberof MessageSource
     */
    'page'?: number;
    /**
     *
     * @type {number}
     * @memberof MessageSource
     */
    'score': number;
    /**
     *
     * @type {string}
     * @memberof MessageSource
     */
    'source': string;
}
/**
 * Represents a file uploaded by a user
 * @export
 * @interface ModelFile
 */
export interface ModelFile {
    /**
     * Unique identifier for the file.
     * @type {string}
     * @memberof ModelFile
     */
    'id': string;
    /**
     * Original name of the file.
     * @type {string}
     * @memberof ModelFile
     */
    'name': string;
    /**
     * Timestamp of when the file was uploaded.
     * @type {string}
     * @memberof ModelFile
     */
    'uploaded_at': string;
}
/**
 * Response for creating a pre-signed url used to upload files to S3
 * @export
 * @interface PreSignedUrlResponse
 */
export interface PreSignedUrlResponse {
    /**
     * Unique identifier for the file. Use this to add the file as a source.
     * @type {string}
     * @memberof PreSignedUrlResponse
     */
    'file_id': string;
    /**
     * Pre-signed url for uploading the file.
     * @type {string}
     * @memberof PreSignedUrlResponse
     */
    'presigned_url': string;
}
/**
 * Represents data associated with an application (file, URL, raw text, etc.) Each source gets processed, embedded, and stored in Pinecone
 * @export
 * @interface Source
 */
export interface Source {
    /**
     * Unique identifier for the application this source is associated with.
     * @type {string}
     * @memberof Source
     */
    'application_id': string;
    /**
     * Source content. This can be text, a list of URLs to crawl, or a file.
     * @type {any}
     * @memberof Source
     */
    'content': any;
    /**
     * Timestamp of when the source was created.
     * @type {string}
     * @memberof Source
     */
    'created_at': string;
    /**
     *
     * @type {EmbedStatus}
     * @memberof Source
     */
    'embed_status'?: EmbedStatus;
    /**
     * Optional message associated with the `embed_status`. If there is an error processing the source, this field will contain the error message.
     * @type {string}
     * @memberof Source
     */
    'embed_status_message'?: string;
    /**
     * Unique identifier for the source
     * @type {string}
     * @memberof Source
     */
    'id': string;
    /**
     * Name of the source. Used when displaying where information came from in a conversation.
     * @type {string}
     * @memberof Source
     */
    'name': string;
    /**
     * Type of source. Used to determine how to process the source.
     * @type {string}
     * @memberof Source
     */
    'type': string;
    /**
     * Timestamp of when the source was last updated
     * @type {string}
     * @memberof Source
     */
    'updated_at': string;
}
/**
 * Application update model, represents the updatable fields of an application
 * @export
 * @interface UpdateApplication
 */
export interface UpdateApplication {
    /**
     *
     * @type {string}
     * @memberof UpdateApplication
     */
    'description'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateApplication
     */
    'model'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateApplication
     */
    'name'?: string;
    /**
     *
     * @type {string}
     * @memberof UpdateApplication
     */
    'system_message'?: string;
}
/**
 * Update conversation model, represents the updatable fields of a conversation
 * @export
 * @interface UpdateConversation
 */
export interface UpdateConversation {
    /**
     *
     * @type {string}
     * @memberof UpdateConversation
     */
    'title'?: string;
}
/**
 *
 * @export
 * @interface ValidationError
 */
export interface ValidationError {
    /**
     *
     * @type {Array<LocationInner>}
     * @memberof ValidationError
     */
    'loc': Array<LocationInner>;
    /**
     *
     * @type {string}
     * @memberof ValidationError
     */
    'msg': string;
    /**
     *
     * @type {string}
     * @memberof ValidationError
     */
    'type': string;
}
/**
 * ChariotApi - axios parameter creator
 * @export
 */
export declare const ChariotApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Creates a new application with the specified settings.
     * @summary Create application
     * @param {CreateApplication} createApplication
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createApplication: (createApplication: CreateApplication, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Creates or continues an existing conversation. If `conversation_id` is provided, the conversation will be continued.  Otherwise, a new conversation will be created.  If a new conversation is created, the `conversation_id` will be returned in the response. You can use this id to continue the conversation.  The `messages` array is automatically updated for each request/response, so you don\'t need to maintain any message history locally.  To stream the output, set `stream:true` in the request body. The reponse will use [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) to stream new message chunks as they are generated.  For more information on how to stream messages in your application, see our guide on [streaming conversations](/guides/streaming-conversations).
     * @summary Create or continue conversation
     * @param {CreateOrContinueConversation} createOrContinueConversation
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createOrContinueConversation: (createOrContinueConversation: CreateOrContinueConversation, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Creates a new source.
     * @summary Create source
     * @param {CreateSource} createSource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createSource: (createSource: CreateSource, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Permanently deletes an application and all related conversations and sources. This cannot be undone.
     * @summary Delete application
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteApplication: (id: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Permanently deletes all sources and related embeddings for the specified application. This cannot be undone.
     * @summary Delete application sources
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteApplicationSources: (id: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Permanently deletes a conversation and all related messages. This cannot be undone.
     * @summary Delete conversation
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteConversationConversationsIdDelete: (id: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Permanently deletes the specified source. This cannot be undone.
     * @summary Delete source
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteSource: (id: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Retrieves a single application.
     * @summary Get application
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getApplication: (id: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Retrieves a single conversation, including all messages.
     * @summary Get conversation
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getConversation: (id: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Generates a presigned Amazon S3 URL that can be used to upload a file. The URL expires after 15 minutes.   Returns an object containing the `presigned_url`to use for uploading the file (via PUT) and the `file_id` that can be used to add the file as a source.
     * @summary Get pre-signed url
     * @param {string} fileName Name of the file to upload, must include the file extension.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getPresignedUrl: (fileName: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Retrieves a single source.
     * @summary Get source
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSource: (id: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns all conversations for an application. Does not include conversation messages. To get messages, use the [conversations](/api-reference/conversations#get-conversation) endpoint and get the conversation by id.
     * @summary List application conversations
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listApplicationConversations: (id: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a list of all sources associated with the specified application.
     * @summary List application sources
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listApplicationSources: (id: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a list of your applications.
     * @summary List applications
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listApplications: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a list of all conversations for your account. This endpoint does not include messages for the conversations. To get messages, retrieve the [conversation by its id](/api-reference/conversations#get-conversation).
     * @summary List conversations
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listConversations: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a list of all files uploaded for your account.
     * @summary List files
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listFiles: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a list of all sources for your account. To get a list of all sources for an application, include the `application_id` query parameter.
     * @summary List sources
     * @param {string} [applicationId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listSources: (applicationId?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Read Root
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readRootGet: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Updates the specified application.
     * @summary Update application
     * @param {string} id
     * @param {UpdateApplication} updateApplication
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateApplication: (id: string, updateApplication: UpdateApplication, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Updates the specifed conversation.
     * @summary Update conversation
     * @param {string} id
     * @param {UpdateConversation} updateConversation
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateConversation: (id: string, updateConversation: UpdateConversation, options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * ChariotApi - functional programming interface
 * @export
 */
export declare const ChariotApiFp: (configuration?: Configuration) => {
    /**
     * Creates a new application with the specified settings.
     * @summary Create application
     * @param {CreateApplication} createApplication
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createApplication(createApplication: CreateApplication, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<Application>>;
    /**
     * Creates or continues an existing conversation. If `conversation_id` is provided, the conversation will be continued.  Otherwise, a new conversation will be created.  If a new conversation is created, the `conversation_id` will be returned in the response. You can use this id to continue the conversation.  The `messages` array is automatically updated for each request/response, so you don\'t need to maintain any message history locally.  To stream the output, set `stream:true` in the request body. The reponse will use [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) to stream new message chunks as they are generated.  For more information on how to stream messages in your application, see our guide on [streaming conversations](/guides/streaming-conversations).
     * @summary Create or continue conversation
     * @param {CreateOrContinueConversation} createOrContinueConversation
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createOrContinueConversation(createOrContinueConversation: CreateOrContinueConversation, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<ConversationResponse>>;
    /**
     * Creates a new source.
     * @summary Create source
     * @param {CreateSource} createSource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createSource(createSource: CreateSource, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<Source>>;
    /**
     * Permanently deletes an application and all related conversations and sources. This cannot be undone.
     * @summary Delete application
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteApplication(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<void>>;
    /**
     * Permanently deletes all sources and related embeddings for the specified application. This cannot be undone.
     * @summary Delete application sources
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteApplicationSources(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<void>>;
    /**
     * Permanently deletes a conversation and all related messages. This cannot be undone.
     * @summary Delete conversation
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteConversationConversationsIdDelete(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<void>>;
    /**
     * Permanently deletes the specified source. This cannot be undone.
     * @summary Delete source
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteSource(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<void>>;
    /**
     * Retrieves a single application.
     * @summary Get application
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getApplication(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<Application>>;
    /**
     * Retrieves a single conversation, including all messages.
     * @summary Get conversation
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getConversation(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<Conversation>>;
    /**
     * Generates a presigned Amazon S3 URL that can be used to upload a file. The URL expires after 15 minutes.   Returns an object containing the `presigned_url`to use for uploading the file (via PUT) and the `file_id` that can be used to add the file as a source.
     * @summary Get pre-signed url
     * @param {string} fileName Name of the file to upload, must include the file extension.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getPresignedUrl(fileName: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<PreSignedUrlResponse>>;
    /**
     * Retrieves a single source.
     * @summary Get source
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSource(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<Source>>;
    /**
     * Returns all conversations for an application. Does not include conversation messages. To get messages, use the [conversations](/api-reference/conversations#get-conversation) endpoint and get the conversation by id.
     * @summary List application conversations
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listApplicationConversations(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<Array<Conversation>>>;
    /**
     * Returns a list of all sources associated with the specified application.
     * @summary List application sources
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listApplicationSources(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<Array<Source>>>;
    /**
     * Returns a list of your applications.
     * @summary List applications
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listApplications(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<Array<Application>>>;
    /**
     * Returns a list of all conversations for your account. This endpoint does not include messages for the conversations. To get messages, retrieve the [conversation by its id](/api-reference/conversations#get-conversation).
     * @summary List conversations
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listConversations(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<Array<Conversation>>>;
    /**
     * Returns a list of all files uploaded for your account.
     * @summary List files
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listFiles(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<Array<any>>>;
    /**
     * Returns a list of all sources for your account. To get a list of all sources for an application, include the `application_id` query parameter.
     * @summary List sources
     * @param {string} [applicationId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listSources(applicationId?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<Array<Source>>>;
    /**
     *
     * @summary Read Root
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readRootGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<any>>;
    /**
     * Updates the specified application.
     * @summary Update application
     * @param {string} id
     * @param {UpdateApplication} updateApplication
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateApplication(id: string, updateApplication: UpdateApplication, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<Application>>;
    /**
     * Updates the specifed conversation.
     * @summary Update conversation
     * @param {string} id
     * @param {UpdateConversation} updateConversation
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateConversation(id: string, updateConversation: UpdateConversation, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<Conversation>>;
};
/**
 * ChariotApi - factory interface
 * @export
 */
export declare const ChariotApiFactory: (apiKey: string, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Creates a new application with the specified settings.
     * @summary Create application
     * @param {CreateApplication} createApplication
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createApplication(createApplication: CreateApplication, options?: any): Promise<Application>;
    /**
     * Creates or continues an existing conversation. If `conversation_id` is provided, the conversation will be continued.  Otherwise, a new conversation will be created.  If a new conversation is created, the `conversation_id` will be returned in the response. You can use this id to continue the conversation.  The `messages` array is automatically updated for each request/response, so you don\'t need to maintain any message history locally.  To stream the output, set `stream:true` in the request body. The reponse will use [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) to stream new message chunks as they are generated.  For more information on how to stream messages in your application, see our guide on [streaming conversations](/guides/streaming-conversations).
     * @summary Create or continue conversation
     * @param {CreateOrContinueConversation} createOrContinueConversation
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createOrContinueConversation(createOrContinueConversation: CreateOrContinueConversation, options?: any): Promise<ConversationResponse>;
    /**
     * Creates a new source.
     * @summary Create source
     * @param {CreateSource} createSource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createSource(createSource: CreateSource, options?: any): Promise<Source>;
    /**
     * Permanently deletes an application and all related conversations and sources. This cannot be undone.
     * @summary Delete application
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteApplication(id: string, options?: any): Promise<void>;
    /**
     * Permanently deletes all sources and related embeddings for the specified application. This cannot be undone.
     * @summary Delete application sources
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteApplicationSources(id: string, options?: any): Promise<void>;
    /**
     * Permanently deletes a conversation and all related messages. This cannot be undone.
     * @summary Delete conversation
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteConversationConversationsIdDelete(id: string, options?: any): Promise<void>;
    /**
     * Permanently deletes the specified source. This cannot be undone.
     * @summary Delete source
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteSource(id: string, options?: any): Promise<void>;
    /**
     * Retrieves a single application.
     * @summary Get application
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getApplication(id: string, options?: any): Promise<Application>;
    /**
     * Retrieves a single conversation, including all messages.
     * @summary Get conversation
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getConversation(id: string, options?: any): Promise<Conversation>;
    /**
     * Generates a presigned Amazon S3 URL that can be used to upload a file. The URL expires after 15 minutes.   Returns an object containing the `presigned_url`to use for uploading the file (via PUT) and the `file_id` that can be used to add the file as a source.
     * @summary Get pre-signed url
     * @param {string} fileName Name of the file to upload, must include the file extension.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getPresignedUrl(fileName: string, options?: any): Promise<PreSignedUrlResponse>;
    /**
     * Retrieves a single source.
     * @summary Get source
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSource(id: string, options?: any): Promise<Source>;
    /**
     * Returns all conversations for an application. Does not include conversation messages. To get messages, use the [conversations](/api-reference/conversations#get-conversation) endpoint and get the conversation by id.
     * @summary List application conversations
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listApplicationConversations(id: string, options?: any): Promise<Array<Conversation>>;
    /**
     * Returns a list of all sources associated with the specified application.
     * @summary List application sources
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listApplicationSources(id: string, options?: any): Promise<Array<Source>>;
    /**
     * Returns a list of your applications.
     * @summary List applications
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listApplications(options?: any): Promise<Array<Application>>;
    /**
     * Returns a list of all conversations for your account. This endpoint does not include messages for the conversations. To get messages, retrieve the [conversation by its id](/api-reference/conversations#get-conversation).
     * @summary List conversations
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listConversations(options?: any): Promise<Array<Conversation>>;
    /**
     * Returns a list of all files uploaded for your account.
     * @summary List files
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listFiles(options?: any): Promise<Array<any>>;
    /**
     * Returns a list of all sources for your account. To get a list of all sources for an application, include the `application_id` query parameter.
     * @summary List sources
     * @param {string} [applicationId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listSources(applicationId?: string, options?: any): Promise<Array<Source>>;
    /**
     *
     * @summary Read Root
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readRootGet(options?: any): Promise<any>;
    /**
     * Updates the specified application.
     * @summary Update application
     * @param {string} id
     * @param {UpdateApplication} updateApplication
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateApplication(id: string, updateApplication: UpdateApplication, options?: any): Promise<Application>;
    /**
     * Updates the specifed conversation.
     * @summary Update conversation
     * @param {string} id
     * @param {UpdateConversation} updateConversation
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateConversation(id: string, updateConversation: UpdateConversation, options?: any): Promise<Conversation>;
};
/**
 * ChariotApi - object-oriented interface
 * @export
 * @class ChariotApi
 * @extends {BaseAPI}
 */
export declare class ChariotApi extends BaseAPI {
    /**
     * Creates a new application with the specified settings.
     * @summary Create application
     * @param {CreateApplication} createApplication
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    createApplication(createApplication: CreateApplication, options?: AxiosRequestConfig): Promise<Application>;
    /**
     * Creates or continues an existing conversation. If `conversation_id` is provided, the conversation will be continued.  Otherwise, a new conversation will be created.  If a new conversation is created, the `conversation_id` will be returned in the response. You can use this id to continue the conversation.  The `messages` array is automatically updated for each request/response, so you don\'t need to maintain any message history locally.  To stream the output, set `stream:true` in the request body. The reponse will use [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) to stream new message chunks as they are generated.  For more information on how to stream messages in your application, see our guide on [streaming conversations](/guides/streaming-conversations).
     * @summary Create or continue conversation
     * @param {CreateOrContinueConversation} createOrContinueConversation
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    createOrContinueConversation(createOrContinueConversation: CreateOrContinueConversation, options?: AxiosRequestConfig): Promise<ConversationResponse>;
    /**
     * Creates a new source.
     * @summary Create source
     * @param {CreateSource} createSource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    createSource(createSource: CreateSource, options?: AxiosRequestConfig): Promise<Source>;
    /**
     * Permanently deletes an application and all related conversations and sources. This cannot be undone.
     * @summary Delete application
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    deleteApplication(id: string, options?: AxiosRequestConfig): Promise<void>;
    /**
     * Permanently deletes all sources and related embeddings for the specified application. This cannot be undone.
     * @summary Delete application sources
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    deleteApplicationSources(id: string, options?: AxiosRequestConfig): Promise<void>;
    /**
     * Permanently deletes a conversation and all related messages. This cannot be undone.
     * @summary Delete conversation
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    deleteConversationConversationsIdDelete(id: string, options?: AxiosRequestConfig): Promise<void>;
    /**
     * Permanently deletes the specified source. This cannot be undone.
     * @summary Delete source
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    deleteSource(id: string, options?: AxiosRequestConfig): Promise<void>;
    /**
     * Retrieves a single application.
     * @summary Get application
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    getApplication(id: string, options?: AxiosRequestConfig): Promise<Application>;
    /**
     * Retrieves a single conversation, including all messages.
     * @summary Get conversation
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    getConversation(id: string, options?: AxiosRequestConfig): Promise<Conversation>;
    /**
     * Generates a presigned Amazon S3 URL that can be used to upload a file. The URL expires after 15 minutes.   Returns an object containing the `presigned_url`to use for uploading the file (via PUT) and the `file_id` that can be used to add the file as a source.
     * @summary Get pre-signed url
     * @param {string} fileName Name of the file to upload, must include the file extension.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    getPresignedUrl(fileName: string, options?: AxiosRequestConfig): Promise<PreSignedUrlResponse>;
    /**
     * Retrieves a single source.
     * @summary Get source
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    getSource(id: string, options?: AxiosRequestConfig): Promise<Source>;
    /**
     * Returns all conversations for an application. Does not include conversation messages. To get messages, use the [conversations](/api-reference/conversations#get-conversation) endpoint and get the conversation by id.
     * @summary List application conversations
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    listApplicationConversations(id: string, options?: AxiosRequestConfig): Promise<Conversation[]>;
    /**
     * Returns a list of all sources associated with the specified application.
     * @summary List application sources
     * @param {string} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    listApplicationSources(id: string, options?: AxiosRequestConfig): Promise<Source[]>;
    /**
     * Returns a list of your applications.
     * @summary List applications
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    listApplications(options?: AxiosRequestConfig): Promise<Application[]>;
    /**
     * Returns a list of all conversations for your account. This endpoint does not include messages for the conversations. To get messages, retrieve the [conversation by its id](/api-reference/conversations#get-conversation).
     * @summary List conversations
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    listConversations(options?: AxiosRequestConfig): Promise<Conversation[]>;
    /**
     * Returns a list of all files uploaded for your account.
     * @summary List files
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    listFiles(options?: AxiosRequestConfig): Promise<any[]>;
    /**
     * Returns a list of all sources for your account. To get a list of all sources for an application, include the `application_id` query parameter.
     * @summary List sources
     * @param {string} [applicationId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    listSources(applicationId?: string, options?: AxiosRequestConfig): Promise<Source[]>;
    /**
     *
     * @summary Read Root
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    readRootGet(options?: AxiosRequestConfig): Promise<any>;
    /**
     * Updates the specified application.
     * @summary Update application
     * @param {string} id
     * @param {UpdateApplication} updateApplication
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    updateApplication(id: string, updateApplication: UpdateApplication, options?: AxiosRequestConfig): Promise<Application>;
    /**
     * Updates the specifed conversation.
     * @summary Update conversation
     * @param {string} id
     * @param {UpdateConversation} updateConversation
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ChariotApi
     */
    updateConversation(id: string, updateConversation: UpdateConversation, options?: AxiosRequestConfig): Promise<Conversation>;
}
