static forRoot(nbThemeOptions = { name: 'default' }, nbJSThemes, nbMediaBreakpoints, layoutDirection) {
        return {
            ngModule: NbThemeModule,
            providers: [
                { provide: NB_THEME_OPTIONS, useValue: nbThemeOptions || {} },
                { provide: NB_BUILT_IN_JS_THEMES, useValue: BUILT_IN_THEMES },
                { provide: NB_JS_THEMES, useValue: nbJSThemes || [] },
                { provide: NB_MEDIA_BREAKPOINTS, useValue: nbMediaBreakpoints || DEFAULT_MEDIA_BREAKPOINTS },
                { provide: NB_DOCUMENT, useExisting: _angular_common.DOCUMENT },
                { provide: NB_WINDOW, useFactory: windowFactory, deps: [i0.PLATFORM_ID] },
                NbJSThemesRegistry,
                NbThemeService,
                NbMediaBreakpointsService,
                NbSpinnerService,
                { provide: NB_LAYOUT_DIRECTION, useValue: layoutDirection || exports.NbLayoutDirection.LTR },
                NbLayoutDirectionService,
                NbLayoutScrollService,
                NbLayoutRulerService,
                ...NbOverlayModule.forRoot().providers,
            ],
        };
    }
/**
     * Main Theme Module
     *
     * @param nbThemeOptions {NbThemeOptions} Main theme options
     * @param nbJSThemes {NbJSThemeOptions[]} List of JS Themes, will be merged with default themes
     * @param nbMediaBreakpoints {NbMediaBreakpoint} Available media breakpoints
     * @param layoutDirection {NbLayoutDirection} Layout direction
     *
     * @returns {ModuleWithProviders}
     */
Main Theme Module
@param nbThemeOptions {NbThemeOptions} Main theme options
@param nbJSThemes {NbJSThemeOptions[]} List of JS Themes, will be merged with default themes
@param nbMediaBreakpoints {NbMediaBreakpoint} Available media breakpoints
@param layoutDirection {NbLayoutDirection} Layout direction


Main Theme Module @param nbThemeOptions { NbThemeOptions } Main theme options @param nbJSThemes { NbJSThemeOptions [] } List of JS Themes will be merged with default themes @param nbMediaBreakpoints { NbMediaBreakpoint } Available media breakpoints @param layoutDirection { NbLayoutDirection } Layout direction
static forRoot(nbThemeOptions = { name: 'default' }, nbJSThemes, nbMediaBreakpoints, layoutDirection) {
        return {
            ngModule: NbThemeModule,
            providers: [
                { provide: NB_THEME_OPTIONS, useValue: nbThemeOptions || {} },
                { provide: NB_BUILT_IN_JS_THEMES, useValue: BUILT_IN_THEMES },
                { provide: NB_JS_THEMES, useValue: nbJSThemes || [] },
                { provide: NB_MEDIA_BREAKPOINTS, useValue: nbMediaBreakpoints || DEFAULT_MEDIA_BREAKPOINTS },
                { provide: NB_DOCUMENT, useExisting: _angular_common.DOCUMENT },
                { provide: NB_WINDOW, useFactory: windowFactory, deps: [i0.PLATFORM_ID] },
                NbJSThemesRegistry,
                NbThemeService,
                NbMediaBreakpointsService,
                NbSpinnerService,
                { provide: NB_LAYOUT_DIRECTION, useValue: layoutDirection || exports.NbLayoutDirection.LTR },
                NbLayoutDirectionService,
                NbLayoutScrollService,
                NbLayoutRulerService,
                ...NbOverlayModule.forRoot().providers,
            ],
        };
    }
static forRoot ( nbThemeOptions = { name : 'default' } , nbJSThemes , nbMediaBreakpoints , layoutDirection ) { return { ngModule : NbThemeModule , providers : [ { provide : NB_THEME_OPTIONS , useValue : nbThemeOptions || { } } , { provide : NB_BUILT_IN_JS_THEMES , useValue : BUILT_IN_THEMES } , { provide : NB_JS_THEMES , useValue : nbJSThemes || [ ] } , { provide : NB_MEDIA_BREAKPOINTS , useValue : nbMediaBreakpoints || DEFAULT_MEDIA_BREAKPOINTS } , { provide : NB_DOCUMENT , useExisting : _angular_common . DOCUMENT } , { provide : NB_WINDOW , useFactory : windowFactory , deps : [ i0 . PLATFORM_ID ] } , NbJSThemesRegistry , NbThemeService , NbMediaBreakpointsService , NbSpinnerService , { provide : NB_LAYOUT_DIRECTION , useValue : layoutDirection || exports . NbLayoutDirection . LTR } , NbLayoutDirectionService , NbLayoutScrollService , NbLayoutRulerService , ... NbOverlayModule . forRoot ( ) . providers , ] , } ; }
Main Theme Module
 @param nbThemeOptions {NbThemeOptions} Main theme options
 @param nbJSThemes {NbJSThemeOptions[]} List of JS Themes, will be merged with default themes
 @param nbMediaBreakpoints {NbMediaBreakpoint} Available media breakpoints
 @param layoutDirection {NbLayoutDirection} Layout direction
Main Theme Module @param nbThemeOptions { NbThemeOptions } Main theme options @param nbJSThemes { NbJSThemeOptions [] } List of JS Themes will be merged with default themes @param nbMediaBreakpoints { NbMediaBreakpoint } Available media breakpoints @param layoutDirection { NbLayoutDirection } Layout direction