securityos/node_modules/next/dist/lib/load-custom-routes.d.ts

63 lines
1.5 KiB
TypeScript

import type { NextConfig } from '../server/config';
export type RouteHas = {
type: 'header' | 'query' | 'cookie';
key: string;
value?: string;
} | {
type: 'host';
key?: undefined;
value: string;
};
export type Rewrite = {
source: string;
destination: string;
basePath?: false;
locale?: false;
has?: RouteHas[];
missing?: RouteHas[];
};
export type Header = {
source: string;
basePath?: false;
locale?: false;
headers: Array<{
key: string;
value: string;
}>;
has?: RouteHas[];
missing?: RouteHas[];
};
export type Redirect = {
source: string;
destination: string;
basePath?: false;
locale?: false;
has?: RouteHas[];
missing?: RouteHas[];
} & ({
statusCode?: never;
permanent: boolean;
} | {
statusCode: number;
permanent?: never;
});
export type Middleware = {
source: string;
locale?: false;
has?: RouteHas[];
missing?: RouteHas[];
};
export declare function normalizeRouteRegex(regex: string): string;
export type RouteType = 'rewrite' | 'redirect' | 'header';
export declare function checkCustomRoutes(routes: Redirect[] | Header[] | Rewrite[] | Middleware[], type: RouteType | 'middleware'): void;
export interface CustomRoutes {
headers: Header[];
rewrites: {
fallback: Rewrite[];
afterFiles: Rewrite[];
beforeFiles: Rewrite[];
};
redirects: Redirect[];
}
export default function loadCustomRoutes(config: NextConfig): Promise<CustomRoutes>;