import { i as WISTRON_SECONDARY_COLOR, o as rootRouteHead, r as WISTRON_PRIMARY_COLOR } from "./utils-BBQ5S6oM.js";
import { n as getUser } from "./msalClient-MNN6BwL6.js";
import { SnackbarOrigin, Theme } from "@mui/material";
import { FC, ReactNode } from "react";
import { LinkOptions } from "@tanstack/react-router";

//#region src/models/LayoutOptions.d.ts
interface LayoutOptions {
  showShell?: boolean;
  snackbarOrigin?: SnackbarOrigin;
  publicRoutes?: Array<LinkOptions["to"]>;
}
//#endregion
//#region src/models/Navigation.d.ts
type NavigationBase = {
  hidden?: boolean;
};
type NavigationBaseItem = NavigationBase & {
  title: string;
  icon: React.ReactNode;
};
type NavigationPageItem = NavigationBaseItem & Pick<LinkOptions, "to" | "href" | "params" | "search"> & {
  kind: "item";
};
type NavigationPageGroup = NavigationBaseItem & {
  kind: "group";
  children: Array<NavigationItem>;
};
type NavigationDivider = NavigationBase & {
  kind: "divider";
};
type NavigationHeader = NavigationBase & {
  kind: "header";
  title: string;
};
type NavigationItem = NavigationPageItem | NavigationPageGroup | NavigationDivider | NavigationHeader;
type Navigation = Array<NavigationItem>;
//#endregion
//#region src/providers/LayoutProvider.d.ts
interface ProvidersProps {
  options?: LayoutOptions;
  navigation?: Navigation;
  theme: Theme;
  children: ReactNode;
}
declare const LayoutProvider: FC<ProvidersProps>;
//#endregion
export { LayoutProvider, type Navigation, WISTRON_PRIMARY_COLOR, WISTRON_SECONDARY_COLOR, getUser, rootRouteHead };
//# sourceMappingURL=index.d.ts.map