import { AskExpertsServer } from "../server/AskExpertsServer.js";
import { OpenaiInterface } from "../openai/index.js";
import { OpenaiProxyExpertBase } from "./OpenaiProxyExpertBase.js";
/**
 * OpenAI Expert implementation for NIP-174
 * Provides direct access to OpenAI models with pricing based on token usage
 */
export declare class OpenaiProxyExpert extends OpenaiProxyExpertBase {
    /**
     * Model vendor
     */
    private modelVendor;
    /**
     * Model name
     */
    private modelName;
    /**
     * System prompt to prepend to all conversations
     */
    private readonly systemPrompt?;
    /**
     * Interval ID for description update checks
     */
    private descriptionCheckInterval;
    /**
     * Creates a new OpenaiExpert instance
     *
     * @param options - Configuration options
     */
    constructor(options: {
        server: AskExpertsServer;
        openai: OpenaiInterface;
        model: string;
        systemPrompt?: string;
    });
    /**
     * Starts the expert
     */
    start(): Promise<void>;
    /**
     * Disposes of resources when the expert is no longer needed
     */
    [Symbol.asyncDispose](): Promise<void>;
    private getDescription;
    /**
     * Handles ask events
     *
     * @param ask - The ask event
     * @returns Promise resolving to a bid if interested, or undefined to ignore
     */
    private onAsk;
}
