import { I18NConfig } from "next/dist/server/config-shared.js"; type QueryType = "dynamic" | "catch-all" | "optional-catch-all"; interface Route { pathname: string; query: Record; } export declare function nextRoutes(pathnames: string[]): Route[]; export declare const logger: Pick; export interface NextJSRoutesOptions { /** * Location of the Next.js project. Defaults to the current working directory. * * This is only necessary when working with a non standard NextJS project setup, such as Nx. * * Example: * * // next.config.js * const nextRoutes = require("nextjs-routes/config") * const withRoutes = nextRoutes({ dir: __dirname }); */ dir?: string | undefined; /** * The file path indicating the output directory where the generated route types * should be written to (e.g.: "types"). */ outDir?: string | undefined; /** * NextJS config option. * https://nextjs.org/docs/api-reference/next.config.js/custom-page-extensions */ pageExtensions?: string[] | undefined; /** * Internationalization configuration * * @see [Internationalization docs](https://nextjs.org/docs/advanced-features/i18n-routing) */ i18n?: I18NConfig | null | undefined; } interface Opts { pageExtensions: string[]; directory: string; } export declare function getAppRoutes(files: string[], opts: Opts): string[]; export declare function getPageRoutes(files: string[], opts: Opts): string[]; export declare function writeNextJSRoutes(options: NextJSRoutesOptions): void; export {};