import { StateContext } from '@ngxs/store'; import { SettingService } from '@lamnhan/ngx-useful'; import { DashboardPart, DatabaseItem } from '../../services/config/config.service'; import * as i0 from "@angular/core"; export declare class GetCounting { part: DashboardPart; locale: string; static readonly type = "[Database] Get counting"; constructor(part: DashboardPart, locale: string); } export declare class GetItems { part: DashboardPart; type: string; status: string; pageNo: number; limit: number; refresh: boolean; static readonly type = "[Database] Get items"; constructor(part: DashboardPart, type: string, status: string, pageNo: number, limit: number, refresh?: boolean); } export declare class GetTranslations { part: DashboardPart; databaseItem: DatabaseItem; static readonly type = "[Database] Get translations"; constructor(part: DashboardPart, databaseItem: DatabaseItem); } export declare class SearchItems { part: DashboardPart; type: string; searchQuery: string; limit: number; static readonly type = "[User] Search items"; constructor(part: DashboardPart, type: string, searchQuery: string, limit: number); } export declare class AddItem { part: DashboardPart; databaseItem: DatabaseItem; static readonly type = "[Database] Add item"; constructor(part: DashboardPart, databaseItem: DatabaseItem); } export declare class UpdateItem { part: DashboardPart; databaseItem: DatabaseItem; updateData: Record; static readonly type = "[Database] Update item"; constructor(part: DashboardPart, databaseItem: DatabaseItem, updateData: Record); } export declare class RemoveItem { part: DashboardPart; databaseItem: DatabaseItem; static readonly type = "[Database] Remove item"; constructor(part: DashboardPart, databaseItem: DatabaseItem); } export interface DatabaseStatePartData extends Record { remoteLoaded: boolean; counting: Record>; itemsByGroup: Record; fullItemsByOrigin?: Record; searchQuery?: string; searchResult?: DatabaseItem[]; } export interface DatabaseStateModel { [part: string]: DatabaseStatePartData; } export interface DatabaseFullItem { all: DatabaseItem[]; missingTranslations?: string[]; } export declare class DatabaseState { private settingService; constructor(settingService: SettingService); getCounting({ getState, patchState }: StateContext, action: GetCounting): import("rxjs").Observable | import("rxjs").Observable; getItems({ getState, patchState }: StateContext, action: GetItems): import("rxjs").Observable | import("rxjs").Observable; getTranslations({ getState, patchState }: StateContext, action: GetTranslations): import("rxjs").Observable | import("rxjs").Observable; searchItems({ getState, patchState }: StateContext, action: SearchItems): import("rxjs").Observable | import("rxjs").Observable<[any, any[]]>; addItem({ getState, patchState }: StateContext, action: AddItem): import("rxjs").Observable; updateItem({ getState, patchState }: StateContext, action: UpdateItem): import("rxjs").Observable; removeItem({ getState, patchState }: StateContext, action: RemoveItem): import("rxjs").Observable; private getPatchingData; private getUpdatedPatchingItem; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }