import { PropsWithChildren, ReactNode } from "react";
import { LocalesValues } from "@intlayer/types";
import { NextPage } from "next";

//#region src/types/NextPage.d.ts
type LocalParams<T = {}> = {
  params: {
    locale: LocalesValues;
  } & T;
};
type LocalPromiseParams<T = {}> = {
  params: Promise<{
    locale: LocalesValues;
  } & T>;
};
type Next14PageIntlayer<T = {}> = NextPage<LocalParams<T>>;
type Next15PageIntlayer<T = {}> = (props: LocalPromiseParams<T>) => ReactNode | Promise<ReactNode>;
type NextPageIntlayer<T = {}> = Next15PageIntlayer<T>;
type Next14LayoutIntlayer<T = {}> = NextPage<PropsWithChildren<LocalParams<T>>>;
type Next15LayoutIntlayer<T = {}> = (props: PropsWithChildren<LocalPromiseParams<T>>) => ReactNode | Promise<ReactNode>;
type NextLayoutIntlayer<T = {}> = Next15LayoutIntlayer<T>;
//#endregion
export { LocalParams, LocalPromiseParams, Next14LayoutIntlayer, Next14PageIntlayer, Next15LayoutIntlayer, Next15PageIntlayer, NextLayoutIntlayer, NextPageIntlayer };
//# sourceMappingURL=NextPage.d.ts.map