import { StateContext } from '@ngxs/store';
import { Observable } from 'rxjs';
import { FaqsDbActions } from './faqs.actions';
import { DbData, FaqDetails } from '../models/faqs';
import { FaqsApiService } from '../services/faqs-api.service';
import { SmzFaqsConfig } from '../smz-faqs.config';
import * as i0 from "@angular/core";
export interface FaqsDbStateModel {
    data: {
        [key: string]: DbData<FaqDetails[]>;
    };
}
export declare const getInitialState: () => FaqsDbStateModel;
export declare class FaqsDbState {
    private apiService;
    private config;
    constructor(apiService: FaqsApiService, config: SmzFaqsConfig);
    onLoadAll$(ctx: StateContext<FaqsDbStateModel>, action: FaqsDbActions.LoadAll): Observable<FaqDetails[]>;
    onLoadAllSuccess(ctx: StateContext<FaqsDbStateModel>, action: FaqsDbActions.LoadAllSuccess): void;
    create$(ctx: StateContext<FaqsDbStateModel>, action: FaqsDbActions.Create): Observable<FaqDetails>;
    delete$(ctx: StateContext<FaqsDbStateModel>, action: FaqsDbActions.Delete): Observable<void>;
    update$(ctx: StateContext<FaqsDbStateModel>, action: FaqsDbActions.Update): Observable<FaqDetails>;
    createSuccess$(ctx: StateContext<FaqsDbStateModel>, action: FaqsDbActions.CreateSuccess): void;
    deleteSuccess$(ctx: StateContext<FaqsDbStateModel>, action: FaqsDbActions.DeleteSuccess): void;
    updateSuccess$(ctx: StateContext<FaqsDbStateModel>, action: FaqsDbActions.UpdateSuccess): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FaqsDbState, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<FaqsDbState>;
}
