import { HasCondition, NextRewrite, ResolvedNextConfig } from "../config/next-config.js";
//#region src/client/client-rewrites.d.ts
type ClientHasCondition = Omit<HasCondition, "type"> & {
  type: "host" | "query";
};
type ClientRewriteFields = Pick<NextRewrite, "basePath" | "locale" | "source"> & {
  has?: ClientHasCondition[];
};
/**
 * Rewrite data that is safe to publish in a browser bundle.
 *
 * Rules that require server-only data deliberately omit both the destination
 * and the data that made server evaluation necessary. The client can still
 * use browser-authoritative conditions as a prefilter before handing the
 * navigation to the server.
 */
type ClientRewrite = (ClientRewriteFields & {
  destination: string;
  requiresServerEvaluation?: never;
}) | (ClientRewriteFields & {
  destination?: never;
  requiresServerEvaluation: true;
});
type ClientRewrites = {
  afterFiles: ClientRewrite[];
  beforeFiles: ClientRewrite[];
  fallback: ClientRewrite[];
};
declare function toClientRewrites(rewrites: ResolvedNextConfig["rewrites"]): ClientRewrites;
//#endregion
export { ClientRewrite, ClientRewrites, toClientRewrites };