import { ApiVersion } from './api.js';
export declare enum ApiStyle {
    Default = 0,
    OpenAi = 1
}
export interface PurAiOptions {
    baseUrl: string;
    version: ApiVersion;
    apiStyle: ApiStyle;
}
export declare enum ModelType {
    ChatCompletion = "chatcompletion",
    ImageGeneration = "imagegeneration"
}
export interface Model {
    type: ModelType;
    id: string;
    totalProviders: number;
    availableProviders: number;
}
export interface ChatMessage {
    role: string;
    content: string;
}
export interface BaseResponse {
    provider: string;
    responseTime: number;
}
export interface ChatResponse extends BaseResponse {
    message: ChatMessage;
    history: ChatMessage[];
}
export type ChatMessageResolvable = ChatMessage | string;
export interface OpenAiChatResponseChoice {
    finishReason: string;
    index: number;
    message: ChatMessage;
    logprops?: null;
}
export interface OpenAiChatResponseUsage {
    completionTokens: number;
    promptTokens: number;
    totalTokens: number;
}
export interface OpenAiChatResponse extends BaseResponse {
    choices: OpenAiChatResponseChoice[];
    created: number;
    id: string;
    model: string;
    object: string;
    usage: OpenAiChatResponseUsage;
}
export interface GenerateImageResponse extends BaseResponse {
    image: string;
}
