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

export type GettingStartedStackParamList = {
    Implementation: undefined;
    Installation: undefined;
};

export type CoreFeaturesStackParamList = {
    LocaleExamples: undefined;
    ThemeExamples: undefined;
    TypesOverride: undefined;
    DefaultJSONs: undefined;
    ToolsUsage: undefined;
};

export type ComponentsStackParamList = {
    NotificationIndicator: undefined;
    HighlightButton: undefined;
    PaletteSwitcher: undefined;
    DateTimePicker: undefined;
    MarkdownViewer: undefined;
    MarkdownEditor: undefined;
    LocaleSwitcher: undefined;
    DateTimeSheet: undefined;
    TextAreaInput: undefined;
    PageContainer: undefined;
    MonthSelector: undefined;
    ThemeSwitcher: undefined;
    DateSelector: undefined;
    NumericInput: undefined;
    TimeSelector: undefined;
    YearSelector: undefined;
    WebScrollbar: undefined;
    UserShortcut: undefined;
    AvatarGroup: undefined;
    BottomSheet: undefined;
    RadioButton: undefined;
    SelectSheet: undefined;
    CodeViewer: undefined;
    CodeEditor: undefined;
    SelectBox: undefined;
    Seperator: undefined;
    StateCard: undefined;
    TextInput: undefined;
    CheckBox: undefined;
    SiteLogo: undefined;
    SnackBar: undefined;
    Loading: undefined;
    RowCard: undefined;
    Sticker: undefined;
    Tooltip: undefined;
    Avatar: undefined;
    Button: undefined;
    Dialog: undefined;
    Switch: undefined;
    Modal: undefined;
    Toast: undefined;
    Chip: undefined;
    Text: undefined;
};

type RootStackParamList = {
    GettingStarted: NavigatorScreenParams<GettingStartedStackParamList> | undefined;
    CoreFeatures: NavigatorScreenParams<CoreFeaturesStackParamList> | undefined;
    Components: NavigatorScreenParams<ComponentsStackParamList> | undefined;
    Home: undefined;
};

export type {
    RootStackParamList as default
};
