import * as plugins from './plugins.js';
import { MultiModalModel } from './abstract.classes.multimodal.js';
export interface IXAIProviderOptions {
    xaiToken: string;
}
export declare class XAIProvider extends MultiModalModel {
    private options;
    openAiApiClient: plugins.openai.default;
    smartpdfInstance: plugins.smartpdf.SmartPdf;
    constructor(optionsArg: IXAIProviderOptions);
    start(): Promise<void>;
    stop(): Promise<void>;
    chatStream(input: ReadableStream<Uint8Array>): Promise<ReadableStream<string>>;
    chat(optionsArg: {
        systemMessage: string;
        userMessage: string;
        messageHistory: {
            role: string;
            content: string;
        }[];
    }): Promise<{
        role: 'assistant';
        message: string;
    }>;
    audio(optionsArg: {
        message: string;
    }): Promise<NodeJS.ReadableStream>;
    vision(optionsArg: {
        image: Buffer;
        prompt: string;
    }): Promise<string>;
    document(optionsArg: {
        systemMessage: string;
        userMessage: string;
        pdfDocuments: Uint8Array[];
        messageHistory: {
            role: string;
            content: string;
        }[];
    }): Promise<{
        message: any;
    }>;
}
