/**
 * Shared OpenAI Service - Consolidated OpenAI Assistants API client
 *
 * This service handles all interactions with the OpenAI Assistants API,
 * providing comprehensive assistant, thread, message, and run management operations.
 * Used by both Cloudflare Workers and NPM package deployments.
 *
 * Consolidates 249 lines of duplicate service code.
 */
import { Assistant, CreateAssistantRequest, UpdateAssistantRequest, ListAssistantsRequest, ListAssistantsResponse, Thread, CreateThreadRequest, UpdateThreadRequest, Message, CreateMessageRequest, UpdateMessageRequest, ListMessagesRequest, ListMessagesResponse, Run, CreateRunRequest, UpdateRunRequest, ListRunsRequest, ListRunsResponse, SubmitToolOutputsRequest, RunStep, ListRunStepsRequest, ListRunStepsResponse } from '../types/index.js';
export declare class OpenAIService {
    private apiKey;
    private baseUrl;
    constructor(apiKey: string);
    private makeRequest;
    private mapHttpStatusToErrorCode;
    createAssistant(request: CreateAssistantRequest): Promise<Assistant>;
    listAssistants(request?: ListAssistantsRequest): Promise<ListAssistantsResponse>;
    getAssistant(assistantId: string): Promise<Assistant>;
    updateAssistant(assistantId: string, request: UpdateAssistantRequest): Promise<Assistant>;
    deleteAssistant(assistantId: string): Promise<{
        id: string;
        object: string;
        deleted: boolean;
    }>;
    createThread(request?: CreateThreadRequest): Promise<Thread>;
    getThread(threadId: string): Promise<Thread>;
    updateThread(threadId: string, request: UpdateThreadRequest): Promise<Thread>;
    deleteThread(threadId: string): Promise<{
        id: string;
        object: string;
        deleted: boolean;
    }>;
    createMessage(threadId: string, request: CreateMessageRequest): Promise<Message>;
    listMessages(threadId: string, request?: ListMessagesRequest): Promise<ListMessagesResponse>;
    getMessage(threadId: string, messageId: string): Promise<Message>;
    updateMessage(threadId: string, messageId: string, request: UpdateMessageRequest): Promise<Message>;
    deleteMessage(threadId: string, messageId: string): Promise<{
        id: string;
        object: string;
        deleted: boolean;
    }>;
    createRun(threadId: string, request: CreateRunRequest): Promise<Run>;
    listRuns(threadId: string, request?: ListRunsRequest): Promise<ListRunsResponse>;
    getRun(threadId: string, runId: string): Promise<Run>;
    updateRun(threadId: string, runId: string, request: UpdateRunRequest): Promise<Run>;
    cancelRun(threadId: string, runId: string): Promise<Run>;
    submitToolOutputs(threadId: string, runId: string, request: SubmitToolOutputsRequest): Promise<Run>;
    listRunSteps(threadId: string, runId: string, request?: ListRunStepsRequest): Promise<ListRunStepsResponse>;
    getRunStep(threadId: string, runId: string, stepId: string): Promise<RunStep>;
    /**
     * Validate API key by making a simple request
     * This method was only in the npm-package version, now consolidated here
     */
    validateApiKey(): Promise<boolean>;
}
//# sourceMappingURL=openai-service.d.ts.map