import { Observable } from 'rxjs';
import { NbJSThemeOptions } from './js-themes/theme.options';
import { NbJSThemesRegistry } from './js-themes-registry.service';
import { NbMediaBreakpointsService, NbMediaBreakpoint } from './breakpoints.service';
export declare class NbThemeService {
    protected options: any;
    private breakpointService;
    private jsThemesRegistry;
    currentTheme: string;
    private themeChanges$;
    private appendLayoutClass$;
    private removeLayoutClass$;
    private changeWindowWidth$;
    constructor(options: any, breakpointService: NbMediaBreakpointsService, jsThemesRegistry: NbJSThemesRegistry);
    changeTheme(name: string): void;
    changeWindowWidth(width: number): void;
    getJsTheme(): Observable<NbJSThemeOptions>;
    onMediaQueryChange(): Observable<NbMediaBreakpoint[]>;
    onThemeChange(): Observable<any>;
    appendLayoutClass(className: string): void;
    onAppendLayoutClass(): Observable<any>;
    removeLayoutClass(className: string): void;
    onRemoveLayoutClass(): Observable<any>;
}
