/**
 * THIS IS AN AUTO-GENERATED FILE - DO NOT EDIT!
 *
 * Any changes you make here may be lost.
 *
 * If you need to make changes, please do so in the original source file, \{project-root\}/sources/custom
 */
import { StreamableMethod } from "@azure-rest/core-client";
import { Assistant, AssistantFile, CreateThreadOptions, FilePurpose, GetMessageOptions, InputFile, ListAssistantFilesOptions, ListAssistantsOptions, ListMessageFilesOptions, ListMessagesOptions, ListRunStepsOptions, ListRunsOptions, MessageFile, RunStep, UploadFileOptions } from "../models/index.js";
import { AssistantCreationOptions, AssistantDeletionStatus, AssistantFileDeletionStatus, AssistantThread, CreateAndRunThreadOptions, CreateRunOptions, FileDeletionStatus, FileListResponse, ListResponseOf, MessageRole, ThreadDeletionStatus, ThreadMessage, ThreadRun, ToolOutput, UpdateAssistantOptions } from "../models/models.js";
import { CancelRunOptions, CreateAssistantFileOptions, CreateAssistantOptions, CreateMessageOptions, CreateRunRequestOptions, CreateThreadAndRunOptions, DeleteAssistantFileOptions, DeleteAssistantOptions, DeleteFileOptions, DeleteThreadOptions, GetAssistantFileOptions, GetAssistantOptions, GetFileOptions, GetMessageFileOptions, GetRunOptions, GetRunStepOptions, GetThreadOptions, ListFilesOptions, SubmitToolOutputsToRunOptions, UpdateAssistantRequestOptions, UpdateMessageOptions, UpdateRunOptions, UpdateThreadOptions } from "../models/options.js";
import { AssistantThreadCreationOptions, CancelRun200Response, AssistantsContext as Client, CreateAssistant200Response, CreateAssistantFile200Response, CreateMessage200Response, CreateRun200Response, CreateThread200Response, CreateThreadAndRun200Response, DeleteAssistant200Response, DeleteAssistantFile200Response, DeleteFile200Response, DeleteThread200Response, GetAssistant200Response, GetAssistantFile200Response, GetFile200Response, GetMessage200Response, GetMessageFile200Response, GetRun200Response, GetRunStep200Response, GetThread200Response, ListAssistantFiles200Response, ListAssistants200Response, ListFiles200Response, ListMessageFiles200Response, ListMessages200Response, ListRuns200Response, SubmitToolOutputsToRun200Response, UpdateAssistant200Response, UpdateMessage200Response, UpdateRun200Response, UpdateThread200Response, UploadFile200Response } from "../rest/index.js";
import { ListRunSteps200Response } from "../rest/responses.js";
export declare function _createAssistantSend(context: Client, body: AssistantCreationOptions, options?: CreateAssistantOptions): StreamableMethod<CreateAssistant200Response>;
export declare function _createAssistantDeserialize(result: CreateAssistant200Response): Promise<Assistant>;
/** Creates a new assistant. */
export declare function createAssistant(context: Client, body: AssistantCreationOptions, options?: CreateAssistantOptions): Promise<Assistant>;
export declare function _listAssistantsSend(context: Client, options?: ListAssistantsOptions): StreamableMethod<ListAssistants200Response>;
export declare function _getAssistantSend(context: Client, assistantId: string, options?: GetAssistantOptions): StreamableMethod<GetAssistant200Response>;
export declare function _getAssistantDeserialize(result: GetAssistant200Response): Promise<Assistant>;
/** Retrieves an existing assistant. */
export declare function getAssistant(context: Client, assistantId: string, options?: GetAssistantOptions): Promise<Assistant>;
export declare function _updateAssistantSend(context: Client, assistantId: string, body: UpdateAssistantOptions, options?: UpdateAssistantRequestOptions): StreamableMethod<UpdateAssistant200Response>;
export declare function _updateAssistantDeserialize(result: UpdateAssistant200Response): Promise<Assistant>;
/** Modifies an existing assistant. */
export declare function updateAssistant(context: Client, assistantId: string, body: UpdateAssistantOptions, options?: UpdateAssistantRequestOptions): Promise<Assistant>;
export declare function _deleteAssistantSend(context: Client, assistantId: string, options?: DeleteAssistantOptions): StreamableMethod<DeleteAssistant200Response>;
export declare function _deleteAssistantDeserialize(result: DeleteAssistant200Response): Promise<AssistantDeletionStatus>;
/** Deletes an assistant. */
export declare function deleteAssistant(context: Client, assistantId: string, options?: DeleteAssistantOptions): Promise<AssistantDeletionStatus>;
export declare function _createAssistantFileSend(context: Client, assistantId: string, fileId: string, options?: CreateAssistantFileOptions): StreamableMethod<CreateAssistantFile200Response>;
export declare function _createAssistantFileDeserialize(result: CreateAssistantFile200Response): Promise<AssistantFile>;
/** Attaches a previously uploaded file to an assistant for use by tools that can read files. */
export declare function createAssistantFile(context: Client, assistantId: string, fileId: string, options?: CreateAssistantFileOptions): Promise<AssistantFile>;
export declare function _listAssistantFilesSend(context: Client, assistantId: string, options?: ListAssistantFilesOptions): StreamableMethod<ListAssistantFiles200Response>;
export declare function _getAssistantFileSend(context: Client, assistantId: string, fileId: string, options?: GetAssistantFileOptions): StreamableMethod<GetAssistantFile200Response>;
export declare function _getAssistantFileDeserialize(result: GetAssistantFile200Response): Promise<AssistantFile>;
/** Retrieves a file attached to an assistant. */
export declare function getAssistantFile(context: Client, assistantId: string, fileId: string, options?: GetAssistantFileOptions): Promise<AssistantFile>;
export declare function _deleteAssistantFileSend(context: Client, assistantId: string, fileId: string, options?: DeleteAssistantFileOptions): StreamableMethod<DeleteAssistantFile200Response>;
export declare function _deleteAssistantFileDeserialize(result: DeleteAssistantFile200Response): Promise<AssistantFileDeletionStatus>;
/**
 * Unlinks a previously attached file from an assistant, rendering it unavailable for use by tools that can read
 * files.
 */
export declare function deleteAssistantFile(context: Client, assistantId: string, fileId: string, options?: DeleteAssistantFileOptions): Promise<AssistantFileDeletionStatus>;
export declare function _createThreadDeserialize(result: CreateThread200Response): Promise<AssistantThread>;
/** Creates a new thread. Threads contain messages and can be run by assistants. */
export declare function createThread(context: Client, body: AssistantThreadCreationOptions, options?: CreateThreadOptions): Promise<AssistantThread>;
export declare function _getThreadSend(context: Client, threadId: string, options?: GetThreadOptions): StreamableMethod<GetThread200Response>;
export declare function _getThreadDeserialize(result: GetThread200Response): Promise<AssistantThread>;
/** Gets information about an existing thread. */
export declare function getThread(context: Client, threadId: string, options?: GetThreadOptions): Promise<AssistantThread>;
export declare function _updateThreadSend(context: Client, threadId: string, options?: UpdateThreadOptions): StreamableMethod<UpdateThread200Response>;
export declare function _updateThreadDeserialize(result: UpdateThread200Response): Promise<AssistantThread>;
/** Modifies an existing thread. */
export declare function updateThread(context: Client, threadId: string, options?: UpdateThreadOptions): Promise<AssistantThread>;
export declare function _deleteThreadSend(context: Client, threadId: string, options?: DeleteThreadOptions): StreamableMethod<DeleteThread200Response>;
export declare function _deleteThreadDeserialize(result: DeleteThread200Response): Promise<ThreadDeletionStatus>;
/** Deletes an existing thread. */
export declare function deleteThread(context: Client, threadId: string, options?: DeleteThreadOptions): Promise<ThreadDeletionStatus>;
export declare function _createMessageSend(context: Client, threadId: string, role: MessageRole, content: string, options?: CreateMessageOptions): StreamableMethod<CreateMessage200Response>;
/** Creates a new message on a specified thread. */
export declare function createMessage(context: Client, threadId: string, role: MessageRole, content: string, options?: CreateMessageOptions): Promise<ThreadMessage>;
export declare function _listMessagesSend(context: Client, threadId: string, options?: ListMessagesOptions): StreamableMethod<ListMessages200Response>;
export declare function _updateMessageSend(context: Client, threadId: string, messageId: string, options?: UpdateMessageOptions): StreamableMethod<UpdateMessage200Response>;
/** Modifies an existing message on an existing thread. */
export declare function updateMessage(context: Client, threadId: string, messageId: string, options?: UpdateMessageOptions): Promise<ThreadMessage>;
export declare function _listMessageFilesSend(context: Client, threadId: string, messageId: string, options?: ListMessageFilesOptions): StreamableMethod<ListMessageFiles200Response>;
export declare function _getMessageFileSend(context: Client, threadId: string, messageId: string, fileId: string, options?: GetMessageFileOptions): StreamableMethod<GetMessageFile200Response>;
export declare function _getMessageFileDeserialize(result: GetMessageFile200Response): Promise<MessageFile>;
/** Gets information about a file attachment to a message within a thread. */
export declare function getMessageFile(context: Client, threadId: string, messageId: string, fileId: string, options?: GetMessageFileOptions): Promise<MessageFile>;
export declare function _createRunSend(context: Client, threadId: string, createRunOptions: CreateRunOptions, options?: CreateRunRequestOptions): StreamableMethod<CreateRun200Response>;
/** Creates a new run for an assistant thread. */
export declare function createRun(context: Client, threadId: string, createRunOptions: CreateRunOptions, options?: CreateRunRequestOptions): Promise<ThreadRun>;
export declare function _listRunsSend(context: Client, threadId: string, options?: ListRunsOptions): StreamableMethod<ListRuns200Response>;
export declare function _getRunSend(context: Client, threadId: string, runId: string, options?: GetRunOptions): StreamableMethod<GetRun200Response>;
/** Gets an existing run from an existing thread. */
export declare function getRun(context: Client, threadId: string, runId: string, options?: GetRunOptions): Promise<ThreadRun>;
export declare function _updateRunSend(context: Client, threadId: string, runId: string, options?: UpdateRunOptions): StreamableMethod<UpdateRun200Response>;
export declare function _updateRunDeserialize(result: UpdateRun200Response): Promise<ThreadRun>;
/** Modifies an existing thread run. */
export declare function updateRun(context: Client, threadId: string, runId: string, options?: UpdateRunOptions): Promise<ThreadRun>;
export declare function _submitToolOutputsToRunSend(context: Client, threadId: string, runId: string, toolOutputs: ToolOutput[], options?: SubmitToolOutputsToRunOptions): StreamableMethod<SubmitToolOutputsToRun200Response>;
/** Submits outputs from tools as requested by tool calls in a run. Runs that need submitted tool outputs will have a status of 'requires_action' with a required_action.type of 'submit_tool_outputs'. */
export declare function submitToolOutputsToRun(context: Client, threadId: string, runId: string, toolOutputs: ToolOutput[], options?: SubmitToolOutputsToRunOptions): Promise<ThreadRun>;
export declare function _cancelRunSend(context: Client, threadId: string, runId: string, options?: CancelRunOptions): StreamableMethod<CancelRun200Response>;
/** Cancels a run of an in progress thread. */
export declare function cancelRun(context: Client, threadId: string, runId: string, options?: CancelRunOptions): Promise<ThreadRun>;
/** Creates a new assistant thread and immediately starts a run using that new thread. */
export declare function createThreadAndRun(context: Client, body: CreateAndRunThreadOptions, options?: CreateThreadAndRunOptions): Promise<ThreadRun>;
export declare function _getRunStepSend(context: Client, threadId: string, runId: string, stepId: string, options?: GetRunStepOptions): StreamableMethod<GetRunStep200Response>;
/** Gets a single run step from a thread run. */
export declare function getRunStep(context: Client, threadId: string, runId: string, stepId: string, options?: GetRunStepOptions): Promise<RunStep>;
export declare function _listRunStepsSend(context: Client, threadId: string, runId: string, options?: ListRunStepsOptions): StreamableMethod<ListRunSteps200Response>;
export declare function _listFilesSend(context: Client, options?: ListFilesOptions): StreamableMethod<ListFiles200Response>;
export declare function _listFilesDeserialize(result: ListFiles200Response): Promise<FileListResponse>;
/** Gets a list of previously uploaded files. */
export declare function listFiles(context: Client, options?: ListFilesOptions): Promise<FileListResponse>;
/** Uploads a file for use by other operations. */
export declare function uploadFile(context: Client, file: Uint8Array, purpose: FilePurpose, options?: UploadFileOptions): Promise<InputFile>;
export declare function _deleteFileSend(context: Client, fileId: string, options?: DeleteFileOptions): StreamableMethod<DeleteFile200Response>;
export declare function _deleteFileDeserialize(result: DeleteFile200Response): Promise<FileDeletionStatus>;
/** Delete a previously uploaded file. */
export declare function deleteFile(context: Client, fileId: string, options?: DeleteFileOptions): Promise<FileDeletionStatus>;
export declare function _getFileSend(context: Client, fileId: string, options?: GetFileOptions): StreamableMethod<GetFile200Response>;
/** Returns information about a specific file. Does not retrieve file content. */
export declare function getFile(context: Client, fileId: string, options?: GetFileOptions): Promise<InputFile>;
export declare function _createRunDeserialize(result: CreateRun200Response): Promise<ThreadRun>;
export declare function _listRunsDeserialize(result: ListRuns200Response): Promise<ListResponseOf<ThreadRun>>;
export declare function _createThreadAndRunSend(context: Client, body: CreateAndRunThreadOptions, options?: CreateThreadAndRunOptions): StreamableMethod<CreateThreadAndRun200Response>;
/** Returns a list of runs associated with an assistant thread. */
export declare function listRuns(context: Client, threadId: string, options?: ListRunsOptions): Promise<ListResponseOf<ThreadRun>>;
export declare function _getRunDeserialize(result: GetRun200Response): Promise<ThreadRun>;
export declare function _submitToolOutputsToRunDeserialize(result: SubmitToolOutputsToRun200Response): Promise<ThreadRun>;
export declare function _createThreadAndRunDeserialize(result: CreateThreadAndRun200Response): Promise<ThreadRun>;
export declare function _cancelRunDeserialize(result: CancelRun200Response): Promise<ThreadRun>;
export declare function listMessages(context: Client, threadId: string, options?: ListMessagesOptions): Promise<ListResponseOf<ThreadMessage>>;
export declare function _getMessageSend(context: Client, threadId: string, messageId: string, options?: GetMessageOptions): StreamableMethod<GetMessage200Response>;
/** Retrieves a message associated with a thread. */
export declare function getMessage(context: Client, threadId: string, messageId: string, options?: GetMessageOptions): Promise<ThreadMessage>;
export declare function _listMessageFilesDeserialize(result: ListMessageFiles200Response): Promise<ListResponseOf<MessageFile>>;
/** Returns a list of files associated with a message from a thread. */
export declare function listMessageFiles(context: Client, threadId: string, messageId: string, options?: ListMessageFilesOptions): Promise<ListResponseOf<MessageFile>>;
export declare function _createMessageDeserialize(result: CreateMessage200Response): Promise<ThreadMessage>;
export declare function _listMessagesDeserialize(result: ListMessages200Response): Promise<ListResponseOf<ThreadMessage>>;
export declare function _getMessageDeserialize(result: GetMessage200Response): Promise<ThreadMessage>;
export declare function _updateMessageDeserialize(result: UpdateMessage200Response): Promise<ThreadMessage>;
export declare function _listRunStepsDeserialize(result: ListRunSteps200Response): Promise<ListResponseOf<RunStep>>;
export declare function _getRunStepDeserialize(result: GetRunStep200Response): Promise<RunStep>;
/** Returns a list of run steps associated an assistant thread run. */
export declare function listRunSteps(context: Client, threadId: string, runId: string, options?: ListRunStepsOptions): Promise<ListResponseOf<RunStep>>;
export declare function _listAssistantsDeserialize(result: ListAssistants200Response): Promise<ListResponseOf<Assistant>>;
/** Returns a list of assistants. */
export declare function listAssistants(context: Client, options?: ListAssistantsOptions): Promise<ListResponseOf<Assistant>>;
export declare function _listAssistantFilesDeserialize(result: ListAssistantFiles200Response): Promise<ListResponseOf<AssistantFile>>;
/** Returns a list of assistant files. */
export declare function listAssistantFiles(context: Client, assistantId: string, options?: ListAssistantFilesOptions): Promise<ListResponseOf<AssistantFile>>;
export declare function _createThreadSend(context: Client, body: AssistantThreadCreationOptions, options?: CreateThreadOptions): StreamableMethod<CreateThread200Response>;
export declare function _uploadFileSend(context: Client, file: Uint8Array, purpose: FilePurpose, options?: UploadFileOptions): StreamableMethod<UploadFile200Response>;
export declare function _uploadFileDeserialize(result: UploadFile200Response): Promise<InputFile>;
export declare function _getFileDeserialize(result: GetFile200Response): Promise<InputFile>;
//# sourceMappingURL=operations.d.ts.map