import { NextRequest, NextResponse } from 'next/server.js'; import { U as UploadOptions } from "../../../packem_shared/types.d-D6Jkz0Sp.js"; import { U as UploadFile } from "../../../packem_shared/storage.d-C9EdfTf1.js"; import 'node:events'; import 'node:http'; import 'node:stream'; import '@visulima/pagination'; import "../../../packem_shared/media-transformer.d-Co37isNg.js"; import "../../../packem_shared/types.d-D1TIRqKW.js"; import 'node:timers'; import 'node:crypto'; import 'lru-cache'; /** * Configuration for Next.js handler. */ interface NextjsHandlerConfig extends UploadOptions { /** Handler type to use */ type: "multipart" | "rest" | "tus"; } /** * Next.js route handler that automatically exports the correct HTTP methods for each handler type. * @example * ```ts * // app/api/upload/multipart/route.ts * import { DiskStorage } from "@visulima/storage"; * import { createHandler } from "@visulima/storage/handler/http/nextjs"; * * const storage = new DiskStorage({ directory: "./uploads" }); * const handler = createHandler({ storage, type: "multipart" }); * * export const POST = handler; * export const DELETE = handler; * export const GET = handler; * export const OPTIONS = handler; * ``` * @example * ```ts * // app/api/upload/rest/route.ts * import { DiskStorage } from "@visulima/storage"; * import { createHandler } from "@visulima/storage/handler/http/nextjs"; * * const storage = new DiskStorage({ directory: "./uploads" }); * const handler = createHandler({ storage, type: "rest" }); * * export const POST = handler; * export const PUT = handler; * export const PATCH = handler; * export const GET = handler; * export const HEAD = handler; * export const DELETE = handler; * export const OPTIONS = handler; * ``` * @example * ```ts * // app/api/upload/tus/route.ts * import { DiskStorage } from "@visulima/storage"; * import { createHandler } from "@visulima/storage/handler/http/nextjs"; * * const storage = new DiskStorage({ directory: "./uploads" }); * const handler = createHandler({ storage, type: "tus" }); * * export const POST = handler; * export const PATCH = handler; * export const HEAD = handler; * export const DELETE = handler; * export const OPTIONS = handler; * ``` */ declare const createHandler: (config: NextjsHandlerConfig) => ((request: NextRequest) => Promise); export { NextjsHandlerConfig, createHandler };