import type { GenerateOptions, StreamChunk } from '@deepseek-ai/dsh-llm'; import type { ImageAttachmentRef, StoredImageAttachment } from '@deepseek-ai/dsh-attachment'; import type { AnonymousUserId } from '@deepseek-ai/dsh-anonymous-user-id'; export interface ManagedImageCapability { allowedMediaTypes: readonly string[]; maximumImages: number; maximumBytesPerImage: number; maximumTotalBytes?: number; maximumPixels?: number; minimumWidth?: number; minimumHeight?: number; maximumWidth?: number; maximumHeight?: number; maximumAspectRatio?: number; countDimensionLimits: ReadonlyArray<{ minimumImages: number; maximumWidth: number; maximumHeight: number; }>; mediaTypeDimensionLimits: ReadonlyArray<{ mediaType: string; maximumLongEdge: number; maximumShortEdge: number; }>; } export interface ManagedModelCapability { contractVersion: string; inputModalities: readonly ('text' | 'image')[]; outputModalities: readonly ('text' | 'image')[]; image?: ManagedImageCapability; } export interface ManagedImageAttachmentReader { readImage(ref: ImageAttachmentRef, signal?: AbortSignal): Promise; } export interface ManagedAiTransportOptions { baseUrl: string; resolveAttachmentReader: () => ManagedImageAttachmentReader | undefined; fetchImpl: typeof fetch; resolveBearer: () => Promise; resolveAnonymousUserId: () => AnonymousUserId; prepareOperation?: (request: GenerateOptions, bearer: string) => string | undefined; } export declare class ManagedAiTransport { private readonly options; private readonly assetCache; private readonly assetUploads; private readonly assetAttemptKeys; constructor(options: ManagedAiTransportOptions); stream(request: GenerateOptions, capability: ManagedModelCapability): AsyncIterable; private resolveInputAsset; private forgetInputAssets; private uploadInputAsset; private rememberInputAsset; private rememberInputAssetAttempt; private prepareUpload; private completeUpload; private abortUploadBestEffort; private postEnvelope; } //# sourceMappingURL=transport.d.ts.map