import type { SmartAi } from "./classes.smartai.js";
type TProcessFunction = (input: string) => Promise<string>;
export interface IConversationOptions {
    processFunction: TProcessFunction;
}
/**
 * a conversation
 */
export declare class Conversation {
    static createWithOpenAi(smartaiRefArg: SmartAi): Promise<Conversation>;
    static createWithAnthropic(smartaiRefArg: SmartAi): Promise<Conversation>;
    static createWithPerplexity(smartaiRefArg: SmartAi): Promise<Conversation>;
    static createWithExo(smartaiRefArg: SmartAi): Promise<Conversation>;
    static createWithOllama(smartaiRefArg: SmartAi): Promise<Conversation>;
    static createWithGroq(smartaiRefArg: SmartAi): Promise<Conversation>;
    static createWithXai(smartaiRefArg: SmartAi): Promise<Conversation>;
    smartaiRef: SmartAi;
    private systemMessage;
    private processFunction;
    private inputStreamWriter;
    private outputStreamController;
    constructor(smartairefArg: SmartAi, options: IConversationOptions);
    setSystemMessage(systemMessageArg: string): Promise<void>;
    private setupOutputStream;
    private setupInputStream;
    getInputStreamWriter(): WritableStreamDefaultWriter<string>;
    getOutputStream(): ReadableStream<string>;
}
export {};
