import type { LanguageModelV1, LanguageModelV1CallOptions } from '../../../../_types/@internal_ai-sdk-v4/dist/index.js';
/**
 * Wrapper class for AI SDK v4 (LanguageModelV1) legacy models.
 *
 * The wrapped `#model` is held in a true JS private field so the
 * underlying SDK client (and any enumerable config it exposes) cannot
 * leak into observability spans. `serializeForSpan()` makes the safe
 * shape explicit.
 *
 * This wrapper is applied by `resolveModelConfig` when a raw v4 model
 * is passed to Mastra, so callers do not need to construct it directly.
 */
export declare class AISDKV4LegacyLanguageModel implements LanguageModelV1 {
    #private;
    readonly specificationVersion: 'v1';
    readonly provider: LanguageModelV1['provider'];
    readonly modelId: LanguageModelV1['modelId'];
    readonly defaultObjectGenerationMode: LanguageModelV1['defaultObjectGenerationMode'];
    readonly supportsImageUrls?: LanguageModelV1['supportsImageUrls'];
    readonly supportsStructuredOutputs?: LanguageModelV1['supportsStructuredOutputs'];
    constructor(config: LanguageModelV1);
    supportsUrl(url: URL): boolean;
    doGenerate(options: LanguageModelV1CallOptions): PromiseLike<{
        text?: string;
        reasoning?: string | Array<{
            type: "text";
            text: string;
            signature?: string;
        } | {
            type: "redacted";
            data: string;
        }>;
        files?: Array<{
            data: string | Uint8Array;
            mimeType: string;
        }>;
        toolCalls?: Array<import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1FunctionToolCall>;
        finishReason: import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1FinishReason;
        usage: {
            promptTokens: number;
            completionTokens: number;
        };
        rawCall: {
            rawPrompt: unknown;
            rawSettings: Record<string, unknown>;
        };
        rawResponse?: {
            headers?: Record<string, string>;
            body?: unknown;
        };
        request?: {
            body?: string;
        };
        response?: {
            id?: string;
            timestamp?: Date;
            modelId?: string;
        };
        warnings?: import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1CallWarning[];
        providerMetadata?: import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1ProviderMetadata;
        sources?: import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1Source[];
        logprobs?: import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1LogProbs;
    }>;
    doStream(options: LanguageModelV1CallOptions): PromiseLike<{
        stream: ReadableStream<import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1StreamPart>;
        rawCall: {
            rawPrompt: unknown;
            rawSettings: Record<string, unknown>;
        };
        rawResponse?: {
            headers?: Record<string, string>;
        };
        request?: {
            body?: string;
        };
        warnings?: Array<import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1CallWarning>;
    }>;
    /**
     * 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.
     */
    serializeForSpan(): {
        specificationVersion: 'v1';
        modelId: string;
        provider: string;
    };
}
//# sourceMappingURL=model.d.ts.map