import { type LanguageModelUsage, type StreamTextResult, type Tool, type UIMessage } from 'ai';
export interface CreateUiStreamOptions {
    provider: 'openai' | 'anthropic';
    model: string;
    tools: {
        [x: string]: Tool;
    };
    apiKeys: {
        openai: string | null;
        anthropic: string | null;
    };
    systemPrompt?: string;
    onUsage?: (usage: Pick<LanguageModelUsage, 'inputTokens' | 'outputTokens' | 'totalTokens'>) => void | Promise<void>;
}
export declare const createUiStream: (messages: UIMessage[], { provider, model, tools, apiKeys, systemPrompt, onUsage }: CreateUiStreamOptions) => StreamTextResult<Record<string, Tool<any, any>>, any>;
