import { a as NotionBlock } from "./types-B8b2hjw1.mjs"; //#region src/resolve-image-urls.d.ts /** * Notion の署名 URL を永続キャッシュ URL に置換する関数。 * 通常は `cms.cacheImage` を渡す。1 時間で失効する Notion 署名 URL を * SHA256 ハッシュキーで R2 / KV / 任意ストレージに保存し、安定 URL を返す。 * * @see {@link resolveBlockImageUrls} */ type CacheImageFn = (url: string) => Promise; /** * `NotionBlock` ツリーを走査し、画像系 block の URL を `cacheImage` 経由で * プロキシ URL へ書き換えた**新しい**ツリーを返す。 * * - `cacheImage` 未指定または対応外ブロックは入力をそのまま素通し * - file 型のみ書き換える (external 型は Notion 経由ではないため触らない) * - children は再帰的に処理し、入力ツリーをミューテートしない * * Notion 署名 URL は約 1 時間で失効するため、サーバー側で事前にプロキシ URL に * 差し替えてから React コンポーネントに渡すことで、レンダリングを同期保てる。 * * @example * ```ts * const stableBlocks = await resolveBlockImageUrls(blocks, cms.cacheImage); * return ; * ``` * * @see {@link CacheImageFn} */ declare function resolveBlockImageUrls(blocks: NotionBlock[], cacheImage: CacheImageFn | undefined): Promise; //#endregion export { resolveBlockImageUrls as n, CacheImageFn as t }; //# sourceMappingURL=resolve-image-urls-DkZ4-Q7C.d.mts.map