reactjs - Como passar um Componente Nextjs com propriedades personalizadas como Filhos


Para adicionar uma propriedade Auth aos meus componentes. Eu criei uma interface

interface AuthAppProps extends Omit<AppProps, "Component"> {
  Component: AppProps["Component"] & { Auth: boolean };
}

Para que eu possa desempenhar

const App: React.FC<AuthAppProps> = (props) =>{
  const {
    Component,
    pageProps: { session, ...pageProps },
  } = props;
  return (
    <SessionProvider session={session}>
      {Component.Auth ? (
        <AuthGuard>
          <Component {...pageProps} />
        </AuthGuard>
      ) : (
        <Component {...pageProps} />
      )}
    </SessionProvider>
  );
}

Quero mover esta lógica de verificação para outro componente que é

const AuthProvider: React.FC<AuthProviderProps> = (
  props: AuthProviderProps
) => {
  const { children: Component } = props;

  if (Component.Auth) {
    return <AuthGuard>{Component}</AuthGuard>;
  } else {
    return <>{Component}</>;
  }
};

Para que eu possa fazer

 <SessionProvider session={session}>
      <AuthProvider>
        <Component {...pageProps} />
      </AuthProvider>
    </SessionProvider>

Mas como <Component {...pageProps} /> é apenas passado como Elemento React e não como o meu tipo personalizado, dá-me um erro que

Type 'Element' is not assignable to type '(NextComponentType<NextPageContext, any, {}> & { Auth: boolean; }) & ReactNode'

Como posso aceder ao Auth para o meu componente quando é passado como children? É possível?

Atualizar

interface AuthProviderProps{
    children: AuthAppProps
}