import type { LanguageModelV2, LanguageModelV2CallOptions } from '@ai-sdk/provider-v5';
import type { MastraLanguageModelV2 } from '../../shared.types.js';
type StreamResult = Awaited<ReturnType<LanguageModelV2['doStream']>>;
/**
 * Wrapper class for AI SDK V5 (LanguageModelV2) that converts doGenerate to return
 * a stream format for consistency with Mastra's streaming architecture.
 */
export declare class AISDKV5LanguageModel implements MastraLanguageModelV2 {
    #private;
    /**
     * The language model must specify which language model interface version it implements.
     */
    readonly specificationVersion: 'v2';
    /**
     * Name of the provider for logging purposes.
     */
    readonly provider: string;
    /**
     * Provider-specific model ID for logging purposes.
     */
    readonly modelId: string;
    readonly gatewayId?: string;
    /**
     * Supported URL patterns by media type for the provider.
     *
     * The keys are media type patterns or full media types (e.g. `*\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).
     * and the values are arrays of regular expressions that match the URL paths.
     * The matching should be against lower-case URLs.
     * Matched URLs are supported natively by the model and are not downloaded.
     * @returns A map of supported URL patterns by media type (as a promise or a plain object).
     */
    supportedUrls: PromiseLike<Record<string, RegExp[]>> | Record<string, RegExp[]>;
    constructor(config: LanguageModelV2);
    doGenerate(options: LanguageModelV2CallOptions): Promise<{
        request: {
            body?: unknown;
        };
        response: StreamResult["response"];
        stream: ReadableStream<any>;
        content: Array<import("@ai-sdk/provider-v5").LanguageModelV2Content>;
        finishReason: import("@ai-sdk/provider-v5").LanguageModelV2FinishReason;
        usage: import("@ai-sdk/provider-v5").LanguageModelV2Usage;
        providerMetadata?: import("@ai-sdk/provider-v5").SharedV2ProviderMetadata;
        warnings: Array<import("@ai-sdk/provider-v5").LanguageModelV2CallWarning>;
    }>;
    doStream(options: LanguageModelV2CallOptions): Promise<{
        stream: ReadableStream<import("@ai-sdk/provider-v5").LanguageModelV2StreamPart>;
        request?: {
            body?: unknown;
        };
        response?: {
            headers?: import("@ai-sdk/provider-v5").SharedV2Headers;
        };
    }>;
    /**
     * Custom serialization for tracing/observability spans.
     * `#model` is already a true JS private field and not enumerable, so
     * the wrapped provider SDK client can't leak. This method makes the
     * safe shape explicit and avoids walking `supportedUrls` (a
     * PromiseLike / regex map that isn't useful in spans).
     */
    serializeForSpan(): {
        specificationVersion: 'v2';
        modelId: string;
        provider: string;
        gatewayId?: string;
    };
}
export {};
//# sourceMappingURL=model.d.ts.map