import { type ChatUiMessage, type FileUIPartWithUpload } from "../../chat/types.js"; /** Input payload for runtime file URL resolver. */ export type RuntimeFileUrlResolverInput = { uploadId: string; part: FileUIPartWithUpload; message: ChatUiMessage; }; /** Public API contract for runtime file URL resolver. */ export type RuntimeFileUrlResolver = (input: RuntimeFileUrlResolverInput) => Promise; /** Input payload for runtime file content fetcher. */ export type RuntimeFileContentFetcherInput = { url: string; mediaType: string; filename?: string; uploadId?: string; uploadPath?: string; abortSignal?: AbortSignal; timeoutMs?: number; part: FileUIPartWithUpload; message: ChatUiMessage; }; /** Public API contract for runtime file content fetcher. */ export type RuntimeFileContentFetcher = (input: RuntimeFileContentFetcherInput) => Promise; /** Creates a safe runtime file content fetcher. */ export declare function createRuntimeFileContentFetcher(options?: { trustedUrls?: ReadonlySet; abortSignal?: AbortSignal; timeoutMs?: number; }): RuntimeFileContentFetcher; /** Resolves runtime message file urls. */ export declare function resolveRuntimeMessageFileUrls(messages: readonly ChatUiMessage[], resolveFileUrl: RuntimeFileUrlResolver): Promise; /** Fetches text attachment bodies and adds them as adjacent text parts. */ export declare function inlineRuntimeMessageFileContents(messages: readonly ChatUiMessage[], fetchFileContent?: RuntimeFileContentFetcher, options?: { abortSignal?: AbortSignal; fetchTimeoutMs?: number; }): Promise; /** Composes abort signals manually for runtimes without AbortSignal.any (Node < 20.3). */ export declare function composeAbortSignals(signals: readonly AbortSignal[]): AbortSignal; //# sourceMappingURL=message-file-url-refresh.d.ts.map