import type { LanguageModelV2 } from '@ai-sdk/provider-v5';
import type { ModelMessage, ToolSet } from 'ai-v5';
import type { MastraPrimitives } from '../../action/index.js';
import { MastraBase } from '../../base.js';
import type { Mastra } from '../../mastra/index.js';
import type { MastraModelOutput } from '../../stream/base/output.js';
import type { OutputSchema } from '../../stream/base/schema.js';
import type { ModelLoopStreamArgs } from './model.loop.types.js';
export declare class MastraLLMVNext extends MastraBase {
    #private;
    constructor({ model, mastra }: {
        model: LanguageModelV2;
        mastra?: Mastra;
    });
    __registerPrimitives(p: MastraPrimitives): void;
    __registerMastra(p: Mastra): void;
    getProvider(): string;
    getModelId(): string;
    getModel(): LanguageModelV2;
    private _applySchemaCompat;
    convertToMessages(messages: string | string[] | ModelMessage[]): ModelMessage[];
    stream<Tools extends ToolSet, OUTPUT extends OutputSchema | undefined = undefined>({ messages, stopWhen, maxSteps, tools, runId, modelSettings, toolChoice, telemetry_settings, threadId, resourceId, output, options, outputProcessors, }: ModelLoopStreamArgs<Tools, OUTPUT>): MastraModelOutput<OUTPUT | undefined>;
}
//# sourceMappingURL=model.loop.d.ts.map