import { StateContext, Store } from '@ngxs/store';
import { Observable } from 'rxjs';
import { IAdvancedSearchAccessibility, IArrayGenericAccessibility, IDetailHeaderAccessibility, IFilterAccessibility, IFormAccessibility, IGenericAccessibilityConfig, INotFoundAccessibility, ISearchBarAccessibility } from '../../interfaces/configs.interface';
import { ScreenSize } from '../../interfaces/ui.interface';
import * as Ui from './ui.actions';
import * as i0 from "@angular/core";
export interface UiStateModel {
    language: string;
    sidenavStateFixed: boolean;
    sidenavMode: string;
    isSidenavCollapsed: boolean;
    screenSize: ScreenSize;
    theme: string;
    genericAccessibility: IGenericAccessibilityConfig;
}
export declare const isLargeScreen: (store$: Store) => Observable<boolean>;
export declare const isSmallScreen: (store$: Store) => Observable<boolean>;
export declare class UiState {
    static getLanguage(state: UiStateModel): string;
    static getSidenavMode(state: UiStateModel): string;
    static getSidenavStateFixed(state: UiStateModel): boolean;
    static getIsSidenavCollapsed(state: UiStateModel): boolean;
    static getScreenSize(state: UiStateModel): ScreenSize;
    static getTheme(state: UiStateModel): string;
    static getGenericAccessibility(state: UiStateModel): IGenericAccessibilityConfig;
    static getAdvancedSearchAccessibility(state: UiStateModel): IAdvancedSearchAccessibility;
    static getFormAccessibility(state: UiStateModel): IFormAccessibility;
    static getFilterAccessibility(state: UiStateModel): IFilterAccessibility;
    static getArrayAccessibility(state: UiStateModel): IArrayGenericAccessibility;
    static getSearchBarAccessibility(state: UiStateModel): ISearchBarAccessibility;
    static getDetailHeaderAccessibility(state: UiStateModel): IDetailHeaderAccessibility;
    static getNotFoundAccessibility(state: UiStateModel): INotFoundAccessibility;
    setLanguage(ctx: StateContext<UiStateModel>, action: Ui.SetLanguage): void;
    toggleSidenav(ctx: StateContext<UiStateModel>): void;
    changeScreenSize(ctx: StateContext<UiStateModel>, action: Ui.ChangeScreenSize): void;
    changeTheme(ctx: StateContext<UiStateModel>, action: Ui.ChangeTheme): void;
    setGenericAccessibility(ctx: StateContext<UiStateModel>, action: Ui.SetGenericAccessibility): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<UiState, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<UiState>;
}
