import { n as User, t as ProviderId } from "./User-D4__w1I1.mjs";
import { t as QueryClientParam } from "./QueryClientParam-JcH0mJWl.mjs";
import { i as WISTRON_SECONDARY_COLOR, r as WISTRON_PRIMARY_COLOR, s as rootRouteHead } from "./utils-Bhi0KiBx.mjs";
import { 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;
  appBarActions?: ReactNode;
}
//#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;
}
export declare const LayoutProvider: FC<ProvidersProps>;
//#endregion
//#region src/lib/auth/user.d.ts
/**
 * Feeds `LoginForm`. Server config, not per-user, so it is safe to prime on the
 * server — the `/login` route's loader does that to avoid a flash of empty card.
 */
export declare const loginProvidersQueryOptions: import("@tanstack/query-core").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
  id: ProviderId;
  label: string;
}[], Error, {
  id: ProviderId;
  label: string;
}[], string[]>, "queryFn"> & {
  queryFn?: import("@tanstack/query-core").QueryFunction<{
    id: ProviderId;
    label: string;
  }[], string[], never> | undefined;
} & import("@tanstack/query-core").QueryKeyWithDataTag<string[], {
  id: ProviderId;
  label: string;
}[], Error>;
export declare const getUser: ({ queryClient }: QueryClientParam) => Promise<User | null>;
//#endregion
export { type Navigation, WISTRON_PRIMARY_COLOR, WISTRON_SECONDARY_COLOR, rootRouteHead };
//# sourceMappingURL=index.d.mts.map