import type { NativeStackScreenProps } from "@react-navigation/native-stack";

// Pure stack model from PRD §5. Drawer affordance lives inside the
// NetworkList screen itself, not the navigator — see Drawer.tsx.
export type RootStackParamList = {
  SignIn: undefined;
  NetworkList: undefined;
  StreamList: { networkId: string };
  StreamView: { networkId: string; streamId: string };
  NewStream: { networkId: string };
  Settings: undefined;
  Account: undefined;
};

export type RootStackScreenProps<T extends keyof RootStackParamList> =
  NativeStackScreenProps<RootStackParamList, T>;

declare global {
  namespace ReactNavigation {
    interface RootParamList extends RootStackParamList {}
  }
}
