import * as plugins from './plugins.js';
import { MultiModalModel } from './abstract.classes.multimodal.js';
import type { ChatOptions, ChatResponse, ChatMessage } from './abstract.classes.multimodal.js';
export interface IExoProviderOptions {
    exoBaseUrl?: string;
    apiKey?: string;
}
export declare class ExoProvider extends MultiModalModel {
    private options;
    openAiApiClient: plugins.openai.default;
    constructor(optionsArg?: IExoProviderOptions);
    start(): Promise<void>;
    stop(): Promise<void>;
    chatStream(input: ReadableStream<Uint8Array>): Promise<ReadableStream<string>>;
    chat(options: ChatOptions): Promise<ChatResponse>;
    audio(optionsArg: {
        message: string;
    }): Promise<NodeJS.ReadableStream>;
    vision(optionsArg: {
        image: Buffer;
        prompt: string;
    }): Promise<string>;
    document(optionsArg: {
        systemMessage: string;
        userMessage: string;
        pdfDocuments: Uint8Array[];
        messageHistory: ChatMessage[];
    }): Promise<{
        message: any;
    }>;
}
