import { EnableAutoPreviewsConfig } from "./enableAutoPreviews.js";
import { ClientConfig } from "@prismicio/client";

//#region src/pages/types.d.ts
/** Configuration for creating a Prismic client with automatic preview support in Next.js apps. */
type CreateClientConfig = ClientConfig & Pick<EnableAutoPreviewsConfig, "previewData" | "req">;
/**
 * The minimal set of properties needed from `next`'s `NextApiRequest` type.
 *
 * This request type is only compatible with API routes defined in the `pages` directory.
 */
type NextApiRequestLike = {
  query: Partial<Record<string, string | string[]>>;
  cookies: Partial<Record<string, string>>;
};
/**
 * The minimal set of properties needed from `next`'s `NextApiResponse` type.
 *
 * This request type is only compatible with API routes defined in the `pages` directory.
 */
type NextApiResponseLike = {
  redirect(url: string): NextApiResponseLike;
  clearPreviewData(): NextApiResponseLike;
  setHeader(name: string, value: string | string[]): NextApiResponseLike;
  json(body: any): void;
  setPreviewData(data: object | string): NextApiResponseLike;
};
//#endregion
export { CreateClientConfig, NextApiRequestLike, NextApiResponseLike };
//# sourceMappingURL=types.d.ts.map